@Configuration
@Slf4j
public class CommonJsonReturnConfig {
@RestControllerAdvice("com.ceo.controller")
static class CommonResultResponseAdvice implements ResponseBodyAdvice<Object> {
@Override
public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> aClass) {
return true;
}
@Override
public Object beforeBodyWrite(Object body, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {
if (body instanceof ResultBase) {
return body;
}
if(body instanceof String){
return new ResultBase<Object>(body);
}
return new ResultBase<Object>(body);
}
@ResponseBody
@ExceptionHandler(value = RRException.class)
public ResultBase myErrorHandler(RRException ex) {
String errorMsg = "startRRException("+ex.getMsg()+")";
log.error(errorMsg,ex);
return new ResultBase<>(ex.getMsg(), ex.getCode()+"");
}
@ResponseBody
@ExceptionHandler(Exception.class)
public ResultBase apiExceptionHandler(Exception ex) {
log.error("startException:",ex);
return new ResultBase<>(ErrorCodeEnum.ERROR_INNER_10000.getText(), ErrorCodeEnum.ERROR_INNER_10000.getCode());
}
}
}
统一异常返回、和统一返回json格式
最新推荐文章于 2022-11-28 15:44:19 发布