Java @Requestbody没有获取我的JSON对象Spring引导

Java @Requestbody没有获取我的JSON对象Spring引导,java,json,spring,spring-boot,http-post,Java,Json,Spring,Spring Boot,Http Post,我在下面展示了我的代码片段,我试图将jsonobj作为Reuestbody发送,但我的控制器无法分配请求的值 请求的JSON对象 控制器 由于@Valid,我遇到了异常情况。我遇到了很多与此相关的问题,但没有一个对我有用。我预测这个问题可能会发生,因为JSON对象结构。我也试过下面的物体,它也不起作用 { "ReferenceNumber" : "ILT06240123201694516287", "B_Code" : 1, "B_Code":"888asdad88",

我在下面展示了我的代码片段,我试图将
json
obj作为
Reuestbody
发送,但我的控制器无法分配请求的值

请求的JSON对象 控制器 由于
@Valid
,我遇到了异常情况。我遇到了很多与此相关的问题,但没有一个对我有用。我预测这个问题可能会发生,因为
JSON
对象结构。我也试过下面的物体,它也不起作用

{
    "ReferenceNumber" : "ILT06240123201694516287",
    "B_Code" : 1,
    "B_Code":"888asdad88",
    "Request":"11111111111111111"
}

在我看来,您发送的JSON请求的结构错误。在JSON中,外部的“Request”元素是多余的。改为尝试发送以下请求:

{
  "ReferenceNumber" : "ILT06240123201694516287",
  "B_Code" : 1,
  "B_Code":"888asdad88",
  "Request":"11111111111111111"
}
顺便说一句,作为建议。您可以对字段使用java命名约定,并且仍然可以使用@JsonProperty注释将“B_代码”之类的名称映射到字段:

@JsonProperty("B_Code")
String bCode;

在我看来,您发送的JSON请求的结构错误。在JSON中,外部的“Request”元素是多余的。改为尝试发送以下请求:

{
  "ReferenceNumber" : "ILT06240123201694516287",
  "B_Code" : 1,
  "B_Code":"888asdad88",
  "Request":"11111111111111111"
}
顺便说一句,作为建议。您可以对字段使用java命名约定,并且仍然可以使用@JsonProperty注释将“B_代码”之类的名称映射到字段:

@JsonProperty("B_Code")
String bCode;

问题是您的JSON无效

{
    "ReferenceNumber" : "ILT06240123201694516287",
    "B_Code" : 1,
    "B_Code":"888asdad88",
    "Request":"11111111111111111"
}
您的请求有效负载中有重复的钥匙B_代码

以下是您可以做的:

  • 更改json中字段
    B_code
    的名称
  • 更改Java中字段
    B_code
    的名称,它与Java命名约定不匹配
  • 确保json中没有重复的字段
  • 如果字段名与java中的字段名不同,则需要注释
    @JsonProperty
    来更正它

  • 问题是您的JSON无效

    {
        "ReferenceNumber" : "ILT06240123201694516287",
        "B_Code" : 1,
        "B_Code":"888asdad88",
        "Request":"11111111111111111"
    }
    
    您的请求有效负载中有重复的钥匙B_代码

    以下是您可以做的:

  • 更改json中字段
    B_code
    的名称
  • 更改Java中字段
    B_code
    的名称,它与Java命名约定不匹配
  • 确保json中没有重复的字段
  • 如果字段名与java中的字段名不同,则需要注释
    @JsonProperty
    来更正它

  • 请使用标准Java命名约定。@RossiRobinsion tq非常。。我浪费了一整天的时间在那个问题上。它可以工作,请使用标准的Java命名约定。@RossiRobinsion tq非常。。我浪费了一整天的时间在那个问题上。它起作用了,