问答

Springboot web 是否应该封装通用返回类

作者:admin 2021-05-07 我要评论

使用springboot进行web开发,是否应该定义一个通用返回类,类似下面这样的,将接口的返回数据和处理信息都封装起来返回。 public class ResponseEntityT{ privat...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

使用springboot进行web开发,是否应该定义一个通用返回类,类似下面这样的,将接口的返回数据和处理信息都封装起来返回。

public class ResponseEntity<T>{
    private int code;
    private T data;
    private String msg;
    ...
}

再加上 @ControllerAdvice 注解,对于所有的异常处理返回也都使用通用类返回,这样的话接口请求的http响应就一直是 200 了

我使用这种通用返回类进行编写的时候,发现这样会影响快速的找错。
如一个页面有十几个接口请求,使用这种模式编写的话每个请求响应状态都是200,无法一眼就看出500爆红的接口,需要对每个请求的response进行查看才能找出错误接口。

我的描述可能有些混乱,总而言之我向请问下各位,在你们的实际开发中,是否会使用通用返回类进行封装? 是否应该将@ControllerAdvice 中异常处理都使用通用返回类返回?

###

用@ExceptionHandler啊

@ExceptionHandler(value = HttpRequestMethodNotSupportedException.class)
@ResponseBody
public ApiResponse httpRequestMethodNotSupportedExceptionHandler(HttpRequestMethodNotSupportedException ex){
    return ApiResponse.build().paramError(String.format("当前请求方法:[%s]不支持,仅支持:%s", ex.getMethod(), Arrays.toString(ex.getSupportedMethods())));
}
###

异常处理的代码里设置一下返回的status不是200而是4xx5xx就可以了

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • Springboot web 是否应该封装通用返回

    Springboot web 是否应该封装通用返回

  • 有哪些网站可以查历年的24小时天气数据

    有哪些网站可以查历年的24小时天气数据

  • 编写一个能够学习如何重命名的程序?

    编写一个能够学习如何重命名的程序?

  • redis, hget是空的?

    redis, hget是空的?

腾讯云代理商
海外云服务器