当前位置: 首页 > 知识库问答 >
问题:

如何在异常响应中添加消息

申屠泳
2023-03-14

我使用下一个:java11 spring-boot:2.4.3。

我在控制器中有下一个方法:

@PutMapping("/{id}")
@ResponseBody
public void update(@PathVariable("id") long id, @RequestBody OrderDto orderDto) {
    try {
        myService.update(id, orderDto);
    } catch (OrderMovementException e) {
        throw new ResponseStatusException(HttpStatus.BAD_REQUEST, e.getLocalizedMessage(), e);
    }
}

嗯,它可以用于测试或日志记录,我看到状态和消息。

但我的前端同事接下来收到的消息是空的:

{"timestamp":"2022-01-24T11:20:48.726+00:00","status":400,"error":"Bad Request","message":"","path":"/service/api/orders/12345"}

我需要做些什么来解决这个问题?提前感谢。

共有1个答案

易和怡
2023-03-14

您的方法可以改为返回void返回类< code>ResponseEntity。请参阅关于如何使用它的文章:使用Spring ResponseEntity操纵HTTP响应。提供详细错误消息的另一种方法是编写一个用< code>@ControllerAdvice注释的类。在这里可以看到一些相关的信息:用Spring构建REST服务

 类似资料:
  • 我目前拥有的代码是:

  • 我有一个Java Servlet类,当我的应用程序中存在身份验证问题时,我尝试在其中设置错误状态。但是,问题是,我可以设置错误状态,但无法在响应正文中设置错误消息。以下是我的尝试: 授权筛选器。Java语言 例外处理程序。Java语言 我的Trowable包含要显示的正确HTTP状态。我尝试了两件事: 我试着按照这个方法做:public ultsendError(int sc,java.lang.

  • 我正在使用nodemailer和express。。。 我想在表单提交或未提交时在前端添加文本消息和加载。 .ts

  • 问题内容: 我已经创建了意图,实体和对话框,没有问题。但是现在我正在尝试做到这一点,以便当用户发送“再见”时,应用程序将关闭。根据文档,我必须命名一个与意图一起执行的动作。我怎么做?是通过代码还是通过对话工作区平台? 问题答案: 您可以使用或为此。如何使用上下文变量?在您的“高级”响应中添加“上下文”和值,请检查我的示例。 为此,我使用了简单的对话。 在您的Watson Developer Clo

  • 我们正在创建一个可以支持XML和JSON格式的Spring boot REST服务。我们使用这里描述的相同方法:接受/返回XML/JSON请求和响应- Spring MVC 除了我们需要在XML响应中有一个名称空间之外,它大部分都是有效的,目前响应XML没有任何名称空间。我们尝试在DTO类中添加以下内容,并尝试创建“package info.java”。两者都不起作用。有人有什么建议吗? @jav

  • 我非常确定“Expires”是有效的HTTP响应头类型。但是当我尝试在代码中设置它时:(这是在ActionFilter.OnActionExecuted方法中) 我最后有一个例外: InvalidOperationException:错误使用的标头名称。确保请求头与HttpRequestMessage一起使用,响应头与HttpResponseMessage一起使用,内容头与HttpContent对

  • 各位开发者好, 我试图打开一个jmx连接到一个应用程序使用jVisualvm,但当我添加连接它失败与SecurityExcture。谁能帮我想出如何避免这种情况? 全堆栈跟踪 谢谢你的帮助。