无法在REST POST请求中接受json作为输入

时间:2013-12-08 06:23:50

标签: java json rest

我正在编写一个REST服务来接受POST调用,这将把JSON作为输入参数。我正在使用的伪代码是:

@POST
@Path("/decodeJson")
//@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public String decodeJson(Employee book) throws Exception {
return "hi";
}

我有Employee的pojo课程。当我运行POST请求时,我收到以下错误:

  

SEVERE:Java类com.sampleservice.model.Employee的消息体读取器,Java类型类com.sampleservice.model.Employee和MIME媒体类型application / json; charset =未找到UTF-8。   与MIME媒体类型兼容的已注册邮件正文阅读器是:   * / * - >

有没有人看到这个错误?在REST服务类中解析JSON的最佳方法是什么?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我能够通过添加以下内容来实现它:

 <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-jaxrs</artifactId>
        <version>1.8.5</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-json</artifactId>
        <version>1.8</version>
    </dependency>

到pom.xml并将以下内容添加到EMployee pojo类中。确保两者的版本相同。还添加: @XmlRootElement  到POJO班级