赞
踩
springboot 写controller层代码,尽量减少重复代码,用ResponseBodyAdvice实现统一返回:
package com.zdxf.common; import com.zdxf.common.pojo.ResultVO; import com.zdxf.common.utils.RestResponse; import org.springframework.core.MethodParameter; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.server.ServerHttpRequest; import org.springframework.http.server.ServerHttpResponse; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; /** * @Author: zj * @Date: 2023/7/24 0024 17:08 * @Description: */ @RestControllerAdvice(basePackages = "com.xxx.modules") public class ResponseAdvice implements ResponseBodyAdvice<Object> { @Override public boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType) { // 如果不需要进行封装的,可以添加一些校验手段,比如添加标记排除的注解 return true; } @Override public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) { // 提供一定的灵活度,如果body已经被包装了,就不进行包装 if (body instanceof ResultVO) { return body; } return ResultVO.success(body); } }
@GetMapping("/list")
@ApiOperation(value = "分页查询列表", notes = "分页查询列表")
public Page<SysUserEntity> list(SysUserDto dto) {
return sysUserService.queryPage(dto);
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。