gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 03:46:41 26 4
gpt4 key购买 nike

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

我已经使用JAXB来支持XML,并且工作正常。现在我想添加 JSON 类型。我研究了不同的教程,所有教程都使用不同的依赖项,如下所示:

  1. Jersey 媒体-json- jackson
  2. Jersey -json
  3. Jersey 媒体多部分

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

最佳答案

<强>1。泽西-媒体-Json- jackson

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

为了使用 jackson 作为您的 JSON (JAXB/POJO)您需要注册 JacksonFeature (Jackson1Feature) 和 ContextResolver<T> 的提供商对于对象映射器,

2. 泽西-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。泽西媒体多部分

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

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

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

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

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

  • 可以选择在生成的模型上创建适当的边界参数Content-Type header (如果尚未存在)。

关于java - jersey-media-json-jackson、jersey-json、jersey-media-multipart 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36233421/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com