2012-12-05 42 views
0

休息POST请求我尝试从卷曲调用REST Web服务,在linux下,还可以使用球衣
然后返回与球衣

A message body reader for Java type, class mypackage.UserGroupsData, and MIME media type, application/json, was not found 

Mappign类是

public class UserGroupsData { 
private int id; 
private String name;  
public int getId() { 
    return id; 
} public void setId(int id) { 
    this.id = id; 
}public String getName() { 
    return name; 
}public void setName(String name) { 
    this.name = name; 
} public int getId() { 
    return id; 
}} 

我的POST方法编号

@POST 
@Path("/getQualifiedNumbers") 
@Produces("application/json") 
@Consumes("application/json") 
public Response getQualifiedNumbers(UserGroupsData userGroup){    
    return Response.status(201).entity(userGroup).build();   
} 

我用来打电话的卷曲命令是

curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"id":"1","name":"e"}' http://localhost:8080/url/getQualifiedNumbers 

服务器是码头

感谢

回答

0

尝试在你的类添加注释 “@XmlRootElement”。它应该成为这样的:

import javax.xml.bind.annotation.XmlRootElement; 

@XmlRootElement 
public class UserGroupsData { 
private int id; 
private String name;  
public int getId() { 
    return id; 
} public void setId(int id) { 
    this.id = id; 
}public String getName() { 
    return name; 
}public void setName(String name) { 
    this.name = name; 
} public int getId() { 
    return id; 
}} 
+0

没有它不工作,我用的球衣1.0,现在已经更新到1.8,现在我有java.lang.NoClassDefFoundError:COM /阳光/汗布/ SPI /服务/ ComponentProvider问题,我有COM .sun.jersey 1.0在我的pom中,可以成为一个问题吗? – user1573690

+0

Jersey中的依赖关系需要与您使用的版本兼容。你应该从版本1.8下载所有的罐子。所以你提到的可能是原因。我的答案解决了您发布的原始问题。 –

+0

没有AJ,把@XmlRootElement没有解决最初的问题,但有些我是如何意识到低版本是问题。这就是为什么我更新到1.8版本,现在问题是com.sun.jersey最新版本是1.0,我认为这是我在上面的评论 – user1573690