Java --- springboot3web新特性之Problemdetails
如果系统出现以下异常,会被SpringBoot支持以。没有开启problemdetails。开启problemdetails。规范方式返回错误数据。
·
一、Problemdetails
RFC 7807: RFC 7807: Problem Details for HTTP APIs
错误信息返回新格式
源码:
@Configuration(proxyBeanMethods = false) //配置过一个属性 spring.mvc.problemdetails.enabled=true @ConditionalOnProperty(prefix = "spring.mvc.problemdetails", name = "enabled", havingValue = "true") static class ProblemDetailsErrorHandlingConfiguration { @Bean @ConditionalOnMissingBean(ResponseEntityExceptionHandler.class) ProblemDetailsExceptionHandler problemDetailsExceptionHandler() { return new ProblemDetailsExceptionHandler(); } }
1、
ProblemDetailsExceptionHandler是一个@ControllerAdvice集中处理系统异常。2、处理以下异常。如果系统出现以下异常,会被SpringBoot支持以
RFC 7807规范方式返回错误数据。@ExceptionHandler({ HttpRequestMethodNotSupportedException.class, //请求方式不支持 HttpMediaTypeNotSupportedException.class, HttpMediaTypeNotAcceptableException.class, MissingPathVariableException.class, MissingServletRequestParameterException.class, MissingServletRequestPartException.class, ServletRequestBindingException.class, MethodArgumentNotValidException.class, NoHandlerFoundException.class, AsyncRequestTimeoutException.class, ErrorResponseException.class, ConversionNotSupportedException.class, TypeMismatchException.class, HttpMessageNotReadableException.class, HttpMessageNotWritableException.class, BindException.class })没有开启problemdetails
# problemdetails默认为关闭状态 spring.mvc.problemdetails.enabled=false
开启problemdetails
# problemdetails默认为关闭状态 spring.mvc.problemdetails.enabled=true
使用了新的媒体类型
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐




所有评论(0)