【问题标题】:Not able to accept json as iput in a REST POST request无法接受 json 作为 REST POST 请求中的输入
【发布时间】:2013-12-08 06:23:49
【问题描述】:

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

@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 的最佳方法是什么?任何帮助表示赞赏。

【问题讨论】:

  • 感谢您的建议

标签: java json rest


【解决方案1】:

我能够通过添加以下内容使其正常工作:

 <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 类

【讨论】:

    猜你喜欢
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 2014-07-04
    • 1970-01-01
    • 2020-02-04
    • 1970-01-01
    • 2016-06-12
    相关资源
    最近更新 更多