任何人都知道如何禁用自动发现并手动注册JacksonFeature,只是要完全确保万一在类路径中有多个提供者被使用?

默认情况下,一切正常,并注释了以下帮助程序的各行。 然后,我尝试手动注册JSON提供程序,因此取消注释行并指定

private void disableAutoDiscoveryAndUseJacksonProvider(ResourceConfig config) {
        config.property(CommonProperties.FEATURE_AUTO_DISCOVERY_DISABLE, true);
        // config.property(CommonProperties.METAINF_SERVICES_LOOKUP_DISABLE, true);
        // config.property(CommonProperties.JSON_PROCESSING_FEATURE_DISABLE, false);
        config.register(JacksonFeature.class);
}

context.addServlet(new ServletHolder(new ServletContainer(config)), "/*");

将客户端用于以下情况时,相同的逻辑也适用:

     javax.ws.rs.client.Client client =
     javax.ws.rs.client.ClientBuilder.newBuilder().register(JacksonFeature.class).build();

编辑:由于我无法解决 ,我试图以显式方式复制默认行为。

ServletHolder holder = new ServletHolder(new ServletContainer()) // No Config

这样调用,然后仅将Jackson放在应用程序的路径中即可(对象正确反序列化),但是如果我将ResourceConfig明确指定为:

 ResourceConfig config = new ResourceConfig();
 //config.property(X,default)
 ServletHolder holder = new ServletHolder(new ServletContainer(config));

我收到反序列化错误

我尝试通过指定CommonProperties。*的所有组合来显式地模仿默认行为,例如config.property(X,default),config.property(Y,default),但还是没有运气,后面有什么想法吗?

  ask by Whimusical translate from so

本文未有回复,本站智能推荐:

1回复

在使用Jackson+Jersey发送JSON响应之前生成HMAC

我正在使用Jersey和Jackson构建REST API。 我使用了本教程( http://www.mkyong.com/webservices/jax-rs/json-example-with-jersey-jackson/ )来开始使用Jackson。 我想在发送响应之前对其进行签名
3回复

使用Jackson传递POJO作为实体的Jersey/JAX-RS客户端

我正在尝试使用Jersey / JAX-RS实现RESTful Web服务客户端: 我的问题是我不想使用JSON。 相反,我想直接与我的实体(例如Fizz )合作。 我想使用Jackson来自动地在JSON和我的实体之间进行序列化(而无需我必须在每个方法中显式地进行转换),但是我不知道这
1回复

使用Jackson为资源JSON表示添加超媒体

我正在使用jackson生成我的静态资源JSON表示形式,就标准属性转换而言,它工作得很好。 但是我也想在同一json对象中生成一堆超媒体,为此我需要使用泽西岛的uriinfo。 有没有办法将uriinfo以某种方式传递给jackson,并使用自定义解析器来使用uriinfo生成超媒体。
2回复

使用Jersey和Jackson对Map进行序列化和反序列化

我有一个Pojo对象,由Jersey使用jackson序列化: 序列化产生一个像这样的JSon: 但是,当我试图从我的客户端反序列化消息时,如下所示: 我收到以下错误: 无法识别的字段“key”(类com.example.server.api.BookSummary),未标记为
4回复

JAX-RSJersey客户端使用POJOMAPPING和Jackson编组JSON响应

使用Jersey客户端(1.11)并将JSONConfiguration.FEATURE_POJO_MAPPING设置为true时,我遇到了一些问题。 我的测试代码如下所示: 在服务器上: 1)我的web.xml将POJO映射设置为true。 2)MyFooDTO只是一个POJO,
1回复

自定义Json序列化器而不是Jersey的默认值?

我正在使用Jersey来实现RESTful Web服务。 现在,我返回数据的MediaType是JSON。 在这里,我将CONTENT_TYPE设置为json,并且我的实体将通过Jersey框架转换为json。 现在,我想自定义我的json响应。 例如:我想删除空元素或更改我的Js
1回复

泽西json试图解组到同一对象

我是球衣和杰克逊的新手。 在我的Web服务中,有两种方法,一种用于GET(学生的json返回),一种用于POST(消耗教师)。 第二个也试图解组将json发布给Student。 这是我的网络服务 这是我的web.xml pom.xml中的依赖项 发布Ajax Jquery请求
2回复

泽西岛+杰克逊-转义正文json字符串文字

我有一个简单的Jaxrs(球衣)端点的问题: 每当我使用邮递员通过简单的有效负载(例如"test_string"对其进行测试时,Jackson都会使用前后双引号进行转义。 然后,我在Java中以"\\"test_string\\"" 。 据我所知, "test_string"作为jso