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

发布于 2022-09-12 22:07:48 字数 531 浏览 12 评论 0

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

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

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

好久不见√ 2022-09-19 22:07:48

用@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())));
}
私野 2022-09-19 22:07:48

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文