首先是统一结果返回:
import io.swagger.annotations.ApiModelProperty; import lombok.Data; import
java.util.HashMap; import java.util.Map; /** * 统一的返回数据类型 */ @Data public class
R { @ApiModelProperty(value = "是否成功") private Boolean success;
@ApiModelProperty(value = "返回码") 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.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; } 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(String key, Object value){
this.data.put(key, value); return this; } public R data(Map<String, Object>
map){ this.setData(map); return this; } }
定义的返回码接口(也可以枚举):
public interface ResultCode { Integer SUCCESS = 200; Integer Error = 500; }
全局异常处理:
import com.gbx.vue.test.common.common.utils.R; import
org.springframework.web.bind.annotation.ControllerAdvice; import
org.springframework.web.bind.annotation.ExceptionHandler; import
org.springframework.web.bind.annotation.ResponseBody; @ControllerAdvice public
class GlobalExceptionHandler { @ExceptionHandler(Exception.class) //指定处理的异常类别
@ResponseBody //非RestController处为了返回结果 public R error(Exception e){ String
message = "全局异常处理...."; //可以根据 异常具体类型 添加不同参数和信息到 自定义结果返回统一类 中 if(e instanceof
NullPointerException){ message = "空指针异常"; } return R.error().message(message);
} }
 

技术
©2019-2020 Toolsou All rights reserved,
排序(一)冒泡排序法一文揭秘阿里、腾讯、百度的薪资职级大数据告诉你,中国女人有多累年薪20万属于什么水平?答案让人扎心!面试的时候突然遇到答不上的问题怎么办?SpringBoot实践(五):mybatis-plus中的BaseMapper,Iservice和ServiceImpl这些歌,程序员千万万万万别听!python中解决字典写入列表的问题中台透彻讲解GDOI2019 游记