这个问题在这里已经有了答案:
错误响应spring boot中的“message”字段为空(1个答案)
16天前关门了。
当调用rest控制器并导致抛出错误时,spring boot返回一个json错误对象。但是我的问题是 message
字段始终为空,即使我向异常提供消息也是如此。错误响应json如下所示:
{
"timestamp": "2020-12-23T21:44:30.077+00:00",
"status": 500,
"error": "Internal Server Error",
"message": "",
"path": "/v1/example"
}
在我的代码中,我抛出了如下异常:
throw new RuntimeException("HELLO!");
但是字符串msg参数从未出现在响应中。
我知道我可以编写自己的错误处理程序,我正在这样做。但是,如果发生了一个我没有准备或处理的错误,我想让错误消息出现在响应中,这有什么意义呢 message
如果不是这样的话?
2条答案
按热度按时间vc9ivgsu1#
尝试抛出responsestatusexception。
b91juud32#
你的代码是正确的。调试并确保
RuntimeException
正在触发。如果它触发,它肯定会抛出RuntimeException
参数。我猜您的代码在runtimeexception行之前会出现错误,因此不会抛出错误消息。
使用这种方式抛出错误消息:
在服务类的某处添加以下代码
在控制器类中捕获异常并抛出异常
完整api示例: