【问题标题】:Difference between jersey-media-json-jackson, jersey-json,jersey-media-multipart?jersey-media-json-jackson、jersey-json、jersey-media-multipart 之间的区别?
【发布时间】:2016-03-26 08:56:30
【问题描述】:

我想开发一个 web api,它将生成和使用 JSONXML 数据。

我已经使用 JAXB 来支持 XML,它运行良好。 现在我想添加 JSON 类型。我研究了不同的教程,都使用了不同的依赖项,如下所示:

  1. jersey-media-json-jackson
  2. 球衣-json
  3. jersey-media-multipart

请帮助我,它是完美的并且支持 XML 和 JSON。 它们之间有什么区别?

【问题讨论】:

  • 检查这个答案。

标签: java xml rest jackson jersey-2.0


【解决方案1】:

1. Jersey-Media-Json-Jackson

Jackson JSON 处理器可以通过提供 custom Jackson 2 ObjectMapper(或 Jackson 1 的 ObjectMapper)实例来控制。如果您需要重新定义默认的 Jackson 行为并微调 JSON 数据结构的外观,这可能会很方便。所有 Jackson 功能的详细描述超出了本指南的范围。下面的示例为您提供了有关如何将 ObjectMapper (ObjectMapper) 实例连接到 Jersey 应用程序的提示。

为了使用 Jackson 作为您的 JSON (JAXB/POJO) 提供者,您需要为 ObjectMapper 注册 JacksonFeature (Jackson1Feature) 和 ContextResolver<T>

2. Jersey-Json:

Jersey JSON 支持作为一组 JAX-RS MessageBodyReader<T>MessageBodyWriter<T> 提供程序与 jersey-json 模块一起分发。这些提供程序支持在使用 JSON 格式时使用三种基本方法:

POJO support

JAXB based JSON support

Low-level, JSONObject/JSONArray based JSON support

3. Jersey-media-multipart

此模块中的多部分在JAX-RS runtime environment 中提供了multipart/* 请求和响应主体的集成。已注册的提供程序集被利用,因为此类消息的正文部分的内容类型重用了相同的 MessageBodyReader<T>/MessageBodyWriter<T> 实现,该实现将用于该内容类型作为独立实体。

目前支持以下list of general MIME MultiPart 功能:

  • MIME-Version: 1.0 HTTP 标头包含在生成的响应中。 在已处理的请求中,它被接受,但不是必需的。

  • 使用 MIME MultiPart 的 MessageBodyReader 实现 实体。

  • 用于生成 MIME MultiPart 的 MessageBodyWriter 实现 实体。适当的@Provider 用于序列化每个主体 部分,基于其媒体类型。

  • 在生成的 Content-Type 标头(如果尚不存在)。

【讨论】:

    猜你喜欢
    • 2017-11-18
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 2014-12-25
    • 2011-08-13
    • 2015-03-10
    相关资源
    最近更新 更多