当前位置 : 主页 > 编程语言 > java >

109-修改返回体的内容RestControllerAdvice

来源:互联网 收集:自由互联 发布时间:2022-10-26
使用注解@RestControllerAdvice 新建自定义类: /** * desc * * @author cjq * @date 2022/10/11 */@RestControllerAdvice(value={com.xxx.sjcj},annotations = {ResultWrapper.class})public class CustomResponseBodyAdvice implements Response

使用注解@RestControllerAdvice

新建自定义类:

/** * desc * * @author cjq * @date 2022/10/11 */ @RestControllerAdvice(value={"com.xxx.sjcj"},annotations = {ResultWrapper.class}) public class CustomResponseBodyAdvice implements ResponseBodyAdvice<Object> { @Override public boolean supports(MethodParameter returnType, Class converterType) { return true; } @Override public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) { SjcjResponse res = new SjcjResponse(); JSONObject bodyObj = JSONObject.parseObject(JSON.toJSONString(body)); int code = bodyObj.getInteger("code"); if(HttpStatus.SUCCESS!=code){ res.setCode(RespEnum.UNKNOW_ERROR.getCod()); res.setDes(bodyObj.getString("msg")); } return res.toString(); } }

在需要重构返回体的方法上加注解ResultWrapper

ResultWrapper类:

@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface ResultWrapper { }

使用在方法中:

@PostMapping @ResultWrapper public AjaxResult addBatch(@RequestBody List<SjcjSyfwEntity> list){ //... 省略 } 【本文来自:台湾服务器 http://www.558idc.com/tw.html 复制请保留原URL】
上一篇:Ubuntu下Redis6的下载编译安装
下一篇:没有了
网友评论