Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 球衣休息后请求_Java_Json_Rest_Curl - Fatal编程技术网

Java 球衣休息后请求

Java 球衣休息后请求,java,json,rest,curl,Java,Json,Rest,Curl,我正在尝试从curl调用restweb服务,在linux中,也使用jersey 然后它回来了 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;

我正在尝试从curl调用restweb服务,在linux中,也使用jersey
然后它回来了

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方法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
服务器是jetty

谢谢

尝试在类中添加注释“@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;
}}

不,它不起作用,我使用了jersey 1.0,现在更新为1.8,现在我有java.lang.NoClassDefFoundError:com/sun/jersey/spi/service/ComponentProvider问题,我的pom中有com.sun.jersey 1.0,这可能是个问题吗?jersey中的依赖项需要与您使用的版本兼容。您应该从1.8版下载所有JAR。所以你提到的可能就是原因。我的回答解决了你发布的原始问题。没有AJ,使用@XmlRootElement并没有解决原始问题,但我知道低版本才是问题所在。这就是为什么我将版本更新为1.8,现在问题是com.sun.jersey的最新版本是1.0,我想这就是我在上面的评论中提到的问题的原因,没有使用“@XmlRootElement”,我不认为jersey会将类对象序列化为JSON,不管您使用的是什么版本。检查并从那里获取jersey。如果不想自己管理所有依赖项,请尝试“11.1.Core服务器”部分中的“jersey bundle.jar”和“asm.jar”。