springboot:在任何类型失败的情况下,如何重写默认的json响应结构?

7vux5j2d  于 2021-07-14  发布在  Java
关注(0)|答案(1)|浏览(303)

在我的springboot(2.x.x)应用程序中 REST 控制器,我需要处理两种类型的故障
自定义验证失败,这里我可以根据需要生成任何json响应结构(即我需要的任何字段)
springboot的默认验证失败(下面给出的例子很少,还有更多)。在这里,它在json响应中生成5xx或4xx以及默认的几个字段。如何在应用程序层重写这个,并与我的自定义失败json响应相匹配?

MissingServletRequestPartException.class, //it will be thrown when one of form param is missing
            MissingServletRequestParameterException.class, //it will be thrown when one of request param is missing
            MethodArgumentNotValidException.class, //it will be thrown when form json param value is not valid
            MethodArgumentTypeMismatchException.class, //it will be thrown when request param type value is mismatched
            ConstraintViolationException.class, // it will be thrown when any of request param is not valid
wb1gzix0

wb1gzix01#

您可以验证您的请求,并为每个验证错误抛出自定义异常。
创建异常处理程序它为您捕获异常并为您执行必要的工作。
您可以在这里找到spring错误处理的代码段

相关问题