第一章 (三)json支持(0.5)

经过上面的过程后,前端没什么问题了,接下来复习一下controller
现在主流的是json交互
拷贝刚才的工程demo1,改为demo-json

第三部分 json支持

返回json数据格式

@RestController注解
@RestController 相当于@ResponseBody+@Controller
与Controller一样,放在类级别
1、返回字符串
2、返回pojo对象
3、返回集合对象
4、返回Map对象

为了测试上面程序,先建一个实体类User.java

package com.neuedu.domain;

import java.util.Date;

public class User {
    private int id;
    private String name;
    private String pwd;
    private Date birthday;
    ......省略get/set
}

相关测试类

    @RestController
public class JsonController {
//1、返回字符串
@RequestMapping("/add")
public String add(User u){
    User user=new User();
    user.setId("123");
    user.setName("wang.qj");
    user.setPwd("123456");
    user.setBirthday(new Date());
    return "success";
    
}
//2、返回pojo对象
@RequestMapping("/getUser")
public User getUserByID(String id){
    User user=new User();
    user.setId("123");
    user.setName("wang.qj");
    user.setPwd("123456");
    user.setBirthday(new Date());
    return user;
    
}
//3、返回集合对象
@RequestMapping("/findAll")
public List findAll(){
    List list=new ArrayList();
    User user=new User();
    user.setId("123");
    user.setName("wang.qj");
    user.setPwd("123456");
    user.setBirthday(new Date());
    list.add(user);
    return list;
    
}
//4、返回Map对象
@RequestMapping("/findMap")
public Map findMap(){
    Map m=new HashMap();
    m.put("name", "wang.qj");
    m.put("id", "1");
    return m;
    }

//4\返回List>   --json数组
//适合关联表查询 多表连接或者统计数据(多行)
//简单map,
@RequestMapping("findListMap")
public List> findListMap(){
    List> list=new ArrayList();
    Map map=new HashMap();
    map.put("empno", "7369");
    map.put("ename", "king");
    map.put("deptno", 10);
    map.put("dname", "sals");
    
    list.add(map);
    Map map1=new HashMap();
    map1.put("empno", "7369");
    map1.put("ename", "king");
    map1.put("deptno", 10);
    map1.put("dname", "sals");
    list.add(map1);
    return list;
}

测试
http://localhost:8080/add
success
http://localhost:8080/getUser?id=123
{"id":"123","name":"lijt"}
http://localhost:8080/findAll
[{"id":"123","name":"wang.qj"...}]
http://localhost:8080/findMap
{"name":"wang.qj","id":"1"...}
http://localhost:8080/json/findListMap
[{"ename":"king","empno":"7369","dname":"sals","deptno":10},{"ename":"king","empno":"7369","dname":"sals","deptno":10}]

你可能感兴趣的:(第一章 (三)json支持(0.5))