小编Dan*_*tud的帖子

如何在 Spring 启动时使用 ResponseStatusException 将错误消息显示到 Json 中?

我在触发错误请求时显示错误消息时遇到问题。

@DeleteMapping("/{projectId}/bugs/{bugId}")
public void deleteBug(@PathVariable (value = "projectId") Long projectId,
                      @PathVariable (value = "bugId") Long bugId){
    if (!projectService.existById(projectId) || !bugService.existById(bugId)) {
        throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "ProjectId " + projectId + " or BugId " + bugId + " not found");
    }
    bugService.deleteBug(bugId);
}
Run Code Online (Sandbox Code Playgroud)

这是我触发响应时的 JSON 响应:

{
"timestamp": "2020-05-29T15:40:41.302+00:00",
"status": 400,
"error": "Bad Request",
"message": "",
"path": "/projects/3/bugs/2"  }
Run Code Online (Sandbox Code Playgroud)

如您所见,该消息没有出现。如果我更改代码中的 HttpStatus,它实际上可以工作,但由于某种原因,该消息不起作用。

我检查了类的构造函数,它实际上只允许状态和原因。

我是遗漏了什么还是 ResponseStatusException 类中的错误?

java spring spring-mvc spring-boot

4
推荐指数
1
解决办法
1966
查看次数

标签 统计

java ×1

spring ×1

spring-boot ×1

spring-mvc ×1