【问题标题】:Request Body issue in Spring Boot PUT RequestSpring Boot PUT 请求中的请求正文问题
【发布时间】:2021-01-10 21:06:28
【问题描述】:

我正在尝试创建一个 PUT 请求,其中管理员将根据某些标准做出决定并验证或拒绝用户。我希望在 JSON 正文中做出这个决定(请参阅下图中的验证方法)。但我很困惑我应该发送什么 json 正文。我已发送以下 JSON 正文 { "REJECTED" }

{ 拒绝 } 拒绝

但每次,它在上述方法中都返回 false。请帮忙!!

【问题讨论】:

  • 第二个 println 的输出是什么? System.out.println(decision);
  • 您能否粘贴正确的请求 json 或使用正确的 json 编辑您的问题
  • 我不认为{ "REJECTED" } 是一个有效的 JSON,它不能解析为任何对象。您应该指定请求的接受内容类型,在这种情况下,我猜 text/plain 就足够了(所以您的正文将只是 REJECTED 而不是 { "REJECTED" } )。
  • 嗨,对于第一个 Sysout,它提供了我通过邮递员发送的完整 JSON,即{REJECTED} 或 {"REJECTED"} 或 REJECTED。而它的给予,对于 .equals 方法来说是错误的。我无法理解发生了什么。
  • JSON 是一种表示对象的符号(基本上是一对属性:值)。您发送的不是这样的对象,而只是一个字符串值,因此您的请求应该是文本请求,而不是 JSON 请求。将 Postman 中的内容类型更改为 text 并简单地发送 REJECTED(没有大括号,没有引号)。

标签: json spring-boot spring-rest


【解决方案1】:

您在这里没有返回任何 JSON - 您的方法类型是无效的。 您需要返回一些可能是字符串或响应本身的内容。

使用 System.out.println(),您只在控制台上显示消息,而不是向服务器发送响应。

【讨论】:

    猜你喜欢
    • 2018-07-18
    • 2023-03-12
    • 2020-11-27
    • 1970-01-01
    • 2020-10-18
    • 2020-06-22
    • 2014-05-15
    • 1970-01-01
    • 2021-07-15
    相关资源
    最近更新 更多