POST调用使用属性变量名而不是@XmlElement(name)
DTO :
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"balance",
"companyName",
...
@XmlRootElement(name = "CustomerDTO", namespace = "")
public class CustomerDTO {
@XmlElement(namespace = "", required = true)
protected String balance;
@XmlElement(name = "company_name", namespace = "", required = true)
protected String companyName;
POST通话:
HttpEntity<CustomerDTO> entity = new HttpEntity(customerDTO, headers);
String result = restTemplate.postForObject(URL, entity, String.class);
问题是最终的JSON被创建为companyName
而不是company_name
答案 0 :(得分:1)
@XmlElement更改xml请求的字段名称而不是json, 如果要为JSON重命名变量,则应使用 @JsonProperty(“Name”)
For e.g:
public class Test {
@JsonProperty("first_name")
public String firstName;
@JsonProperty("last_name")
public String lastName;
}
o / p for json将是
"Test":{
"first_name":"Parameter-Name",
"last_name":"Parameter-Value"
}
答案 1 :(得分:0)
马歇尔并取消了DTO的编队:
System.setProperty("webdriver.ie.driver", "C:\\Users\\Drivers\\IEDriverServer.exe");
WebDriver driver = new InternetExplorerDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://google.com");
System.out.println("Hello Google");
driver.close();