eclipse - Jersey :找不到 Java 类和 MIME 媒体类型应用程序/json 的消息正文编写器

标签 eclipse json jersey message mime

在试图弄清楚我的问题是什么之后,我终于决定问你如何解决我的问题。我见过不同的人有同样的问题,我尝试了他们被建议做的所有事情,但对我的问题没有任何帮助。所以基本上我有一个使用 Jersey 构建的 RESTful 服务。对于我的客户,我想以 JSON 格式返回一个对象。我阅读了不同的教程并决定使用 jersey-json-1.8 库是有意义的。我像往常一样将所有内容添加到我的项目中并尝试运行它,但每次我调用服务时(通过 get request atm。)我收到 HTTP 错误代码 500(内部服务器错误)并且我的服务器响应没有消息正文作家可以找到。 如果我返回 XML,它工作得很好,一切都很好。我还尝试将 jersey-json-1.8.jar 复制到我的 Tomcat lib 文件夹,因为我必须使用我正在使用的 mysql lib 执行此操作,但它也没有帮助。 如果你能帮我把这些东西弄好,我会很高兴的! 如果您需要更多信息,请发表评论,我会尽快提供:)

我的项目设置是: 3 不同的包装 1. 我的 RESTfulServices 2. 我的 Java 工作,我处理 SQL 连接等。 3. 一个包,其中存储了我需要使用的所有模型,并且我想以 JSON 格式返回(在我的示例中为试驾路线)

Tomcat 网络服务器 IDE: eclipse 我正在使用 Maven

无论我以什么方式或如何尝试返回对象,它都无法正常工作,并且我不断收到错误消息:

Mapped exception to response: 500 (Internal Server Error)
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A message body writer for Java class com.mykong.models.Teststrecke, and Java type class com.mykong.models.Teststrecke, and MIME media type application/json was not found

编辑: 这是我的 JSON 服务方法

@Path("/hellojson")
public class JSONService {


    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public ArrayList<Route> getJSONMsg()  
    {

        Route ts = new Route();
        ts.setId(1);
        ts.setName("HelloWorld");


        Route ts2 = new Route();
        ts2.setId(2);
        ts2.setName("HelloWorld");


        ArrayList<Route> availRoutes = new ArrayList<Route>();
        availRoutes.add(ts);
        availRoutes.add(ts2);


        return availRoutes;


    }
}

最佳答案

尝试将 Genson 库添加到您的类路径 http://owlike.github.io/genson/ . 它是一个 json<>java 流和数据绑定(bind) api。它与 Jersey 很好地集成在一起,要让您运行,您需要 0 配置。 Jersey 检测到该库在您的类路径中,并通过委托(delegate)给 Genson 来启用 json 映射。

关于eclipse - Jersey :找不到 Java 类和 MIME 媒体类型应用程序/json 的消息正文编写器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13439386/

相关文章:

java - 如何从 java web 项目向 Restful 服务发送参数

java - 在异常映射器中检索请求正文

java - 在eclipse中生成方法头

java - Eclipse Gradle 插件生成数百个进程

java.lang.UnsatisfiedLinkError : no <LIBRARY> in java. 库.path

java - 从 Java 中的 JSON 响应获取字符串

json - 访问 Node.js 中的 JSON 位置

java - 将 Map<Object, Object> 转换为 Json 字符串

java - 无法在方法内部使用注释

java - 如何在 Eclipse 项目中找到入口点?