统一响应类和枚举类
1.加入lombok依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
IDEA装上lombok插件
2.在utils包下创建响应状态码接口类ResultCode
public interface ResultCode {
//设置成功状态码
public static Integer SUCCESS = 20000;
//设置失败状态码
public static Integer ERROR = 20001;
}
3.在utils包下创建响应类R
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
@Data
public class R {
//是否成功
private Boolean success;
//返回状态码
private Integer code;
//返回消息
private String message;
//返回数据
private Map<String, Object> data = new HashMap<String, Object>();
private R(){}
//返回成功消息对象R,数据为空,可链式调用设置数据
public static R ok(){
R r = new R();
r.setSuccess(true);
r.setCode(ResultCode.SUCCESS);
r.setMessage("成功");
return r;
}
//返回失败消息,数据为空,可链式调用设置数据
public static R error(){
R r = new R();
r.setSuccess(false);
r.setCode(ResultCode.ERROR);
r.setMessage("失败");
return r;
}
//重新设置返回结果R的message属性
public R message(String message){
this.setMessage(message);
return this;
}
//重新设置返回结果R的code属性
public R code(Integer code){
this.setCode(code);
return this;
}
//设置返回结果R的data数据,以键值对的形式传参设置
public R data(String key, Object value){
this.data.put(key, value);
return this;
}
//设置返回结果R的data数据,Map对象形式传输设置
public R data(Map<String, Object> map){
//lombok自动生成的setData方法进行设置
this.setData(map);
return this;
}
}
4.修改IndexController控制器方法的响应结果,返回R
import com.zeromemos.utils.R;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class IndexController {
@RequestMapping({"/","/index"})
public R index(){
return R.ok();
}
}
5.启动访问http://localhost:8001/测试