第一种(推荐)
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value="返回信息映射类")
public class ReturnResult {
@ApiModelProperty(value="返回数据")
private Object data;
@ApiModelProperty(value="返回状态码")
private Integer code;
@ApiModelProperty(value="返回信息提示")
private String msg;
//自定义code,msg,data
private ReturnResult(Integer code, String msg,Object data) {
this.data = data;
this.code = code;
this.msg = msg;
}
//自定义data
private ReturnResult(Object data) {
this.data = data;
this.code = 0;
this.msg = "success";
}
//自定义code,msg
private ReturnResult(Integer code,String msg){
this.code = code;
this.msg = msg;
}
public ReturnResult() {
this.code = 0;
this.msg = "success";
}
/***
* 输入参数:
*
*
* @param data
* @param code
* @param msg
* @return 返回成功,包含total、code、msg、data
*/
public static ReturnResult success(Integer code, String msg,Object data) {
return new ReturnResult(code,msg,data);
}
public static ReturnResult success(Integer code,String msg){
return new ReturnResult(code,msg);
}
public static ReturnResult error(Integer code,String msg){
return new ReturnResult(code,msg);
}
/***
* 输入参数:
*
* @param data
* @return 返回成功,包含code、msg、data
*/
public static ReturnResult success(Object data) {
return new ReturnResult(data);
}
public static ReturnResult success(){
return new ReturnResult();
}
}
返回值直接
@PostMapping("/getInvoice")
@ApiOperation(value = "查询未发货的发货单", notes = "查询未发货的发货单")
@Transactional(rollbackFor = Exception.class)
public ReturnResult getInvoice(@RequestBody Map map){
return ReturnResult.success(0,"查询成功",cpckService.getInvoice(map));
}
第二种
1.先创建一个状态码的类 – StatusCode
/*
* 定义了状态码的类
*/
public enum StatusCode {
Success(0,"成功"),
Fail(-1,"失败"),
NotFound(10010,"不存在"),
Entity_Not_Exist(10011,"实体信息不存在"),
Invalid_Params(10012,"请求参数不合法!");
private Integer code;
private String msg;
StatusCode(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
- 因为返回的为三部分(code、msg、data),所创建一个返回类
/**
* 这个类定义了返回的json格式,即json含有哪些字段
*/
public class BaseResponse<T> {
private Integer code;
private String msg;
private T data;
public BaseResponse(StatusCode statusCode) {
this.code=statusCode.getCode();
this.msg=statusCode.getMsg();
}
public BaseResponse(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
public BaseResponse(T data, StatusCode statusCode) {
this.data = data;
this.code=statusCode.getCode();
this.msg=statusCode.getMsg();
}
public BaseResponse(Integer code, String msg, T data) {
this.code = code;
this.msg = msg;
this.data = data;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
3.创建一个Controller,返回的类型是BaseResponse,也就是要给前台传送类。然后把真实数据放入BaseResponse的data中。
@RequestMapping(value="springboot1")
public BaseResponse json() {
User user=new User();
user.setId(123);
user.setName("张三");
BaseResponse response=new BaseResponse(StatusCode.Success);
response.setData(user);
return response;
}
版权声明:本文为Y_R_Q原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。