1.创建 R.java
工具类,用于封装返回格式
package com.lyf.common.utils;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.HashMap;
import java.util.Map;
/**
* @author 微风
* @version 1.0
* @date 2021/3/16 20:03
*/
@Data
public class R{
// @ApiModelProperty(value = "是否成功")
private Boolean success;
// @ApiModelProperty(value = "返回码") 成功:200 失败: 400
private Integer code;
// @ApiModelProperty(value = "返回消息")
private String message;
// @ApiModelProperty(value = "返回数据")
private Map<String, Object> data = new HashMap<String, Object>();
//只能在内部引用
private R() {
}
//成功的方法
public static R ok(){
R r = new R();
r.setCode(ResultCode.SUCCESS);
r.setMessage("成功!");
r.setSuccess(true);
return r;
}
//失败的方法
public static R error(){
R r = new R();
r.setCode(ResultCode.ERROR);
r.setMessage("失败!");
r.setSuccess(false);
return r;
}
public R success(Boolean success){
this.setSuccess(success);
return this;
}
public R message(String message){
this.setMessage(message);
return this;
}
public R code(Integer code){
this.setCode(code);
return this;
}
public R data(Map<String, Object> map){
this.setData(map);
return this;
}
public R data(String key,Object data) {
this.data.put(key,data);
return this;
}
}
2.再创建一个响应码接口 ResultCode.java
,用于R工具类中的响应码
package com.lyf.common.utils;
public interface ResultCode {
public static Integer SUCCESS = 20000;
public static Integer ERROR = 20001;
}
3.在 Controller
控制层调用该工具类
@PostMapping("login")
public R login(@RequestBody LoginParamVo vo){
String token = adminService.login(vo);
if (token!=null) {
return R.ok().data("token",token); // 如果响应成功,则可以在data中放返回的数据
}else {
return R.error(); // 如果失败,则直接调用R工具类的error方法
}
}