2012-12-05 174 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