异常处理注解形式
import com.example.exception.demo.common.WebMessage;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @Description: 异常捕获处理
* @Author: Tan
* @Date: 2019/12/24
**/
@ControllerAdvice
public class GlobalExceptionHandler {
/**
* 异常处理
*/
@ExceptionHandler(Exception.class)
@ResponseBody
public Object exceptionHandler(Exception e){
e.printStackTrace();
return WebMessage.fail(e.getMessage());
}
}
截获响应实体
import com.example.exception.demo.utils.JsonUtils;
import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
/**
* @Description: TODO
* @Author: Tan
* @Date: 2019/12/24
**/
@ControllerAdvice
public class ResponseBodyAnalysis implements ResponseBodyAdvice {
@Override
public Object beforeBodyWrite(Object body, MethodParameter arg1,
MediaType arg2, Class arg3, ServerHttpRequest arg4,
ServerHttpResponse arg5) {
System.out.println(JsonUtils.objectToJson(body));
return body;
}
@Override
public boolean supports(MethodParameter arg0, Class arg1) {
return true;
}
}