在REST Web服务PUT命令中获取空值

时间:2017-03-21 04:55:20

标签: web-services rest put

我正在编写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作为输出?

1 个答案:

答案 0 :(得分:0)

好的..我找到了答案.. 1)我刚刚在getter getName()上面添加了@XmlElement(name =“Name”)。 2)将变量声明名称中的小n更改为'name'。

这解决了它。