简体   繁体   English

从Glassfish Jersey Rest服务器获取响应Json对象时获取HTTP错误:500

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

I wrote a Rest webservice in jersey. 我在泽西岛写了一个Rest Web服务。 when I return from get method to client, client recieved a HTTP ERROR: 500 response if i return String Object from MyMessage class it is fine. 当我从get方法返回到客户端时,如果我从MyMessage类返回String对象,则客户端会收到HTTP错误:500响应。 service Class is: 服务类别为:

@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;
   }
}

and class object that return from service is MyObject that wrapped message: 从服务返回的类对象是包装消息的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;
  }
}

I use embedded jetty server and this is pom.xml : 我使用嵌入式码头服务器,这是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>

Replace the following dependency in your pom.xml : pom.xml替换以下依赖项:

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

by 通过

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM