当前位置: 首页 > 面试题库 >

如何从JAX-RS Client提取ObjectMapper?

苗烈
2023-03-14
问题内容

我正在使用Jersey JAX-
RS客户端(2.0版)。我知道它正在使用Jackson的ObjectMapper生成和解析JSON。我想使用同一对象为某些Java类生成JSON,以便可以将它们写入日志。

我知道我可以创建一个ObjectMapper的新实例,但是我希望请求Jersey
Client给我一个有关它正在使用的实例的引用。我怎样才能做到这一点?Jersey
2.0知道Jackson,因为它包含一个JacksonFeature类,该类首先用于配置Jackson功能。


问题答案:

我通过添加以下静态成员来解决此问题:

private static JacksonJsonProvider jackson_json_provider = new JacksonJaxbJsonProvider()
      .configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false)
      .configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS, false);

private static ObjectMapper object_mapper = jackson_json_provider.locateMapper(
      Object.class, MediaType.APPLICATION_JSON_TYPE);

private static Client client = ClientBuilder.newClient().register(jackson_json_provider);

请注意,第二个声明并不需要仅用于配置FAIL_ON_UNKNOWN_PROPERTIESFAIL_ON_EMPTY_BEANS;
object_mapper出于其他一些原因使用。



 类似资料:
  • 我正在使用泽西JAX-RS客户端(版本2.0)。我知道它使用Jackson ObjectMapper来生成和解析JSON。我想使用相同的对象为一些java类生成JSON,这样我就可以将它们写入日志。 我知道我可以创建一个新的ObjectMapper实例,但我更喜欢请求泽西客户端给我一个它正在使用的引用。我该怎么做呢?泽西2.0知道Jackson,因为它包含一个JacksonFeature类,该类首

  • JAX-RS 具有 HTTP 谓词的注释()和 (),但没有注释。如何为 HTTP 动词添加注释? 如下所示:

  • 问题内容: 我有一个网页,可以用来上传文件。 现在,我需要检查文件类型是否正确(zip,jpg,pdf,…)。 我可以使用请求随附的mimeType,但我不信任用户,并且说我想确保没有人能够上传在.jpg中重命名的.gif文件。 我认为在这种情况下,我应该检查魔术号码。我发现 这是一个Java库,似乎可以实现“从魔术数字中提取模仿类型”的功能。 这是正确的解决方案还是您建议什么? 更新: 我已经找

  • 问题内容: 我从如下服务器获取响应字符串 我想获取名字的值。我怎样才能做到这一点?提前致谢。 问题答案: 看到此代码是我在应用程序中使用的代码 我像这样找回

  • 看到截图了吗 从图像解析器中可以看到,它返回NP,VP,PP,NP。我希望能够访问不同深度的所有短语。例如,in depth=1有两个短语NP和VP,in depth=2有一些其他短语,in depth=3有一些其他短语。如何使用python访问属于depth=n的短语?

  • 我正在创建一个fetchBill函数。分配https://randomapi.com/api/006b08a801d82d0c9824dcfdfdfa3b3c到一个api变量。它使用浏览器的fetch函数向api发出HTTP请求。它在一个函数中使用箭头函数。然后调用fetch函数,并在将其转换为JSON后返回响应。使用另一个。然后调用第一个函数,该函数将JSON数据传递给displayCartTo