Get HTTP ERROR: 500 on get response Json Object from glassfish Jersey Rest server

Get HTTP ERROR: 500 on get response Json Object from glassfish Jersey Rest server

我在 jersey 写了一个 Rest 网络服务。当我 return 从 get 方法到客户端时,如果我 return 来自 MyMessage class 的字符串对象,客户端会收到 HTTP 错误:500 响应,这很好。服务 Class 是:

@Path("msg")
public class MyMessage {

   @GET
   @Produces(MediaType.APPLICATION_JSON)
   public MyObject  getMessage() {
       MyObject object = new MyObject();
       object.setId(1);
       object.setMessage("sdsadsadsadsa");
       return object;
   }
}

和 class 对象 return 来自服务的对象是包装消息的 MyObject:

public class MyObject {
  private String message;
  private int id;

  public String getMessage() {
    return message;
  }

  public void setMessage(String message) {
    this.message = message;
  }

  public int getId() {
    return id;
  }

  public void setId(int id) {
    this.id = id;
  }
}

我使用嵌入式码头服务器,这是 pom.xml :

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>   
<jersey.version>2.25</jersey.version>
<jetty.version>9.2.10.v20150310</jetty.version>         
</properties>    

<dependencies>
<dependency>
    <groupId>org.glassfish.jersey.containers</groupId>
    <artifactId>jersey-container-jetty-http</artifactId>
    <version>${jersey.version}</version>
</dependency>
<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-server</artifactId>
    <version>${jersey.version}</version>
</dependency>
<dependency>
    <groupId>org.glassfish.jersey.containers</groupId>
    <artifactId>jersey-container-servlet-core</artifactId>
    <version>${jersey.version}</version>
</dependency>        
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-servlet</artifactId>
    <version>${jetty.version}</version>
</dependency>        
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-server</artifactId>
    <version>${jetty.version}</version>
</dependency> 
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-util</artifactId>
    <version>${jetty.version}</version>
</dependency>   
<dependency>
    <groupId>com.fasterxml.jackson.jaxrs</groupId>
    <artifactId>jackson-jaxrs-json-provider</artifactId>
    <version>2.3.3</version>
</dependency>
</dependencies>

在您的 pom.xml 中替换以下依赖项:

<dependency>
    <groupId>com.fasterxml.jackson.jaxrs</groupId>
    <artifactId>jackson-jaxrs-json-provider</artifactId>
    <version>2.3.3</version>
</dependency>

来自

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
    <version>${jersey.version}</version>
</dependency>