0

LinuxでcurlからREST Webサービスを呼び出そうとしていますが、jerseyも使用する
と返されます

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

マッピングクラスは

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 メソッド ID

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

私が呼び出していたCurlコマンドは

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

サーバーは突堤

ありがとう

4

1 に答える 1

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;
}}
于 2012-12-05T10:38:34.480 に答える