定义统一的Json结构 * 由于封装的Json数据的类型不确定,所以在定义统一的json结构时,我们需要用到泛型。 * 统一的json结构中属性包括:数据、状态码、提示信息即可。 * 构造方法应该有默认的返回结构和用户指定的返回结构
package com.wei.demo01.entity;
/**
* 定义统一的Json结构
* 由于封装的Json数据的类型不确定,所以在定义统一的json结构时,我们需要用到泛型。
* 统一的json结构中属性包括:数据、状态码、提示信息即可。
* 构造方法应该有
* @param <T> 泛型
*/
public class JsonResult <T>{
private T data;
private String code;
private String msg;
/**
* 若没有数据返回,默认的状态码是0,提示信息为:操作成功!
*/
public JsonResult(){
this.code = "0";
this.msg = "操作成功";
}
/**
* 若没有数据返回,可以人为指定状态码和提示信息
*
*/
public JsonResult(String code,String msg){
this.code=code;
this.msg=msg;
}
/**
* 有数据返回值,状态码为0,默认提示信息为:操作成功!
*/
public JsonResult(T data){
this.data=data;
this.code="0";
this.msg = "操作成功";
}
/**
* 有数据返回值,状态码为0,人为指定提示信息
*/
public JsonResult(T data,String msg){
this.data=data;
this.code = "0";
this.msg=msg;
}
}
package com.wei.demo01.controller;
//import com.wei.demo01.entity.JsonResult;
import com.wei.demo01.entity.JsonResult;
import com.wei.demo01.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 统一Json返回值结构
*/
@RestController
@RequestMapping("/jsonresult")
public class JsonController {
@GetMapping("/user")
// public User getUser() {
// return new User(10, "你好", "11");
// }
public JsonResult<User> getUser(){
User user = new User(10,"haha","11");
return new JsonResult<>(user);
}
@GetMapping("/list")
// public List<User> getUSerList() {
// List<User> list = new ArrayList<>();
// User user = new User(10, "你好", "11");
// User user1 = new User(12, "啊好", "11");
// list.add(user);
// list.add(user1);
// return list;
// }
public JsonResult<List<User>> getUserList(){
List<User> list = new ArrayList<>();
User user = new User(10, "你好", "11");
User user1 = new User(12, "啊好", "11");
list.add(user);
list.add(user1);
return new JsonResult<>(list, "获取用户列表成功!");
}
@GetMapping("/map")
// public Map<String, Object> getMap(){
// Map<String, Object> map = new HashMap<>(3);
// User user = new User(1, "魏榕汘", "12");
// map.put("作者信息", user);
// map.put("博客地址", "httP://www.baidu.com");
// map.put("公众号", "你好");
// map.put("B站", "你哈哈");
// return map;
//
// }
public JsonResult<Map<String,Object>> getMap(){
Map<String, Object> map = new HashMap<>(3);
User user = new User(1, "魏榕汘", "12");
map.put("作者信息", user);
map.put("博客地址", "httP://www.baidu.com");
map.put("公众号", "你好");
map.put("B站", "你哈哈");
return new JsonResult<>(map);
}
}