我正在编写PUT请求REST Web服务。我有一个POJO User.java有字符串名称。以下是我的POJO:
@XmlRootElement(name = "User")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private String Name;
public String getName() {
return Name;
}
public void setName(String Name) {
this.Name = Name;
}
public User() {
}
public User(String Name) {
this.Name = Name;
}
}
我的网络服务如下:
@Path("/user")
public class UserService {
@Path("/xml")
@PUT
@Produces({MediaType.APPLICATION_XML})
@Consumes({MediaType.APPLICATION_XML})
public User putUsers(User user){
System.out.println("***** Received User XML *****");
System.out.println("Name :: "+user.getName());
return user;
}
}
来自Postman,我发送请求正文:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><User>
<Name>abcd</Name></User>
执行和PUT URL:
http://localhost:8080/rest/users/xml
但我输出为null:
***** Received User XML *****
Name :: null
为什么我没有输出abcd作为输出?
答案 0 :(得分:0)
好的..我找到了答案.. 1)我刚刚在getter getName()上面添加了@XmlElement(name =“Name”)。 2)将变量声明名称中的小n更改为'name'。
这解决了它。