现象:
代码中我们使用@ResponseStatus要返回自定义的异常message,但是接口返回的message为null
if (null == db) {
throw new NotExist("conductorEnv not exist");
}
@ResponseStatus(HttpStatus.BAD_REQUEST)
public class BadRequest extends RuntimeException{
public BadRequest(String message, Exception exception) {
super(message, exception);
}
public BadRequest(String message) {
super(message);
}
public BadRequest() {
super("Bad Request: please check your request body.");
}
}
{
"timestamp": 1656905642972,
"status": 404,
"error": "Not Found",
"message": "",
"path": "/api/v1/workflow/clusters/CID-87/conductor/env/update/CID-787"
}
解决办法
从SpringBoot 2.3+开始,引入了一下新的属性来控制message
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes#new-and-noteworthy

我们要做的是在配置文件中加入
server:
error:
include-message: always
本文介绍了一种在SpringBoot应用中使用@ResponseStatus注解时遇到的问题:自定义异常message返回为空的情况。针对该问题,文章给出了具体解决方案,即通过在配置文件中设置server.error.include-message为always来确保异常message能够正确返回。
1万+

被折叠的 条评论
为什么被折叠?



