使用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就可以了