请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于springboot2.3以后的error信息默认不返回

你好 老师,在学习这一章的时候,使用@Vaild注解进行入参检测的时候,如果body格式不正确,只会返回400的错误码,不会显示自己定义的详细错误信息描述,然后在网上查了一下,在springboot 2.3之后,默认不显示错误的json信息。https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes#changes-to-the-default-error-pages-content,
图片描述
这是我没有配置这两个属性的时候
图片描述
图片描述
但是在控制台是输出了这个错误的警告

2021-10-25 11:08:53.812  WARN 19148 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MethodArgumentNotValidException: Validation failed for argument [0] in public cloud.lixudong.starter.domain.dto.UserDTO cloud.lixudong.starter.rest.AuthorizeResource.register(cloud.lixudong.starter.domain.dto.UserDTO): [Field error in object 'userDTO' on field 'email': rejected value [lyzml1024]; codes [Email.userDTO.email,Email.email,Email.java.lang.String,Email]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [userDTO.email,email]; arguments []; default message [email],[Ljavax.validation.constraints.Pattern$Flag;@1c06c3c6,.*]; default message [格式不正确]] ]

当我进行了配置以后,就可以正确的返回JSON
图片描述
图片描述

但是我pull了您的代码看springboot 版本是2.3.3的,但是没有配置这两个选项,仍然可以正确输出错误的信息,这是为什么呢

我在按照官网描述添加了对应的配置之后可以显示错误信息了,但是我pull了你的代码,没有配置这些属性,仍然可以正确的返回错误的json信息,这是为什么呢。

正在回答 回答被采纳积分+3

插入代码

1回答

接灰的电子产品 2021-10-26 00:45:33

应该和 zalando problem 的配置有关,我们其实没有采用 spring 自带的 json 输出,而是使用了 problem 这个类库,你对比一下 jackson 和 problem 的配置

0 回复 有任何疑惑可以回复我~
  • 视频里工程目录也没有创建exceptionde的目录呢 没有做配置又是咋返回的
    但git的代码确实有 按照problem的配置了也确实返回了
    回复 有任何疑惑可以回复我~ 2024-06-26 19:06:14
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号