• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Spring Boot响应结果返回拦截

武飞扬头像
InterestAndFun
帮助1

背景

响应结果返回之前拦截在开发维护时比较常用,如打印响应报文日志、规范统一返回报文格式等需求。

开发

实现并不难,springMVC为我们提供了一个很好用的接口ResponseBodyAdvice,我们只要实现这个接口即可

@RestControllerAdvice
@Slf4j
public class ResponseResultAdvice implements ResponseBodyAdvice<Object> {

	// return true表示对响应进行处理,你可以用returnType来做判断什么时候不需要做处理
    @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) {
        // 响应报文打印是最常用的
        log.info("--result response start--");
        log.info("调用方法:{}", returnType.getMethod().getName());
        log.info("响应报文:{}", JSON.toJSONString(body));
        log.info("--result response end--");
        // 可对响应报文做其他操作,这里不举例
        return body;
    }
}

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfkkkjk
系列文章
更多 icon
同类精品
更多 icon
继续加载