jersey-media-json-jackson,jersey-json,jersey-media-multipart之间的区别?

时间:2016-03-26 08:56:30

标签: java xml rest jackson jersey-2.0

我想开发一个web api,它将生成并使用 JSON XML 数据。

我已将 JAXB 用于 XML 支持,它运行正常。 现在我想添加JSON type.i研究不同的教程,所有都使用不同的依赖项如下:

  1. Jersey的媒体JSON-杰克逊
  2. Jersey的JSON
  3. Jersey的媒体多
  4. 请帮助我完美,并支持XML和JSON。 它们之间有什么区别?

1 个答案:

答案 0 :(得分:2)

<强> 1。 Jersey-Media-Json-Jackson

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

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

2. 泽西 - 杰森:

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

POJO support

JAXB based JSON support

Low-level, JSONObject/JSONArray based JSON support

第3。新泽西州的媒体多

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

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

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

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

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

  • 可选择在生成的边界参数上创建 Content-Type标头,如果尚未出现。