gpt4 book ai didi

spring - @RequestBody 正在获取空值

转载 作者:IT老高 更新时间:2023-10-28 13:51:25 26 4
gpt4 key购买 nike

我创建了一个简单的 REST 服务 (POST)。但是当我从 postman 那里调用这个服务时,@RequestBody 没有收到任何值。

import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

@RestController
public class Add_Policy {
@ResponseBody
@RequestMapping(value = "/Add_Policy", headers = {
"content-type=application/json" }, consumes = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
public Policy GetIPCountry( @RequestBody Policy policy) {

System.out.println("Check value: " + policy.getPolicyNumber());
return policy;

}


}

我的 java Bean 对象如下:

public class Policy {
private String PolicyNumber;
private String Type;
private String Tenture;
private String SDate;
private String HName;
private String Age;

public String getPolicyNumber() {
return PolicyNumber;
}

public void setPolicyNumber(String policyNumber) {
PolicyNumber = policyNumber;
}

public String getType() {
return Type;
}

public void setType(String type) {
Type = type;
}

public String getTenture() {
return Tenture;
}

System.out.println 正在打印一个 null 作为 PolicyNumber 的值。

请帮我解决这个问题。

我在请求正文中传递的 JSON 是

{
"PolicyNumber": "123",
"Type": "Test",
"Tenture": "10",
"SDate": "10-July-2016",
"HName": "Test User",
"Age": "10"
}

我什至在 postman 中将 Content-Type 设置为 application/json

最佳答案

尝试将 JSON 中属性的第一个字符设置为小写。例如。

{
"policyNumber": "123",
"type": "Test",
"tenture": "10",
"sDate": "10-July-2016",
"hName": "Test User",
"age": "10"
}

基本上,Spring 使用 getter 和 setter 来设置 bean 对象的属性。它获取 JSON 对象的属性,将其与同名的 setter 匹配。例如,要设置 policyNumber 属性,它会尝试在您的 bean 类中找到一个名为 setpolicyNumber() 的 setter,并使用它来设置 bean 对象的值。

关于spring - @RequestBody 正在获取空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38935912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com