繁体   English   中英

在Jersey 2.14上没有JSON提供程序(Jackson)的自动发现和手动注册

No Autodiscovery and manual registration of JSON provider (Jackson) on Jersey 2.14

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

任何人都知道如何禁用自动发现并手动注册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),但还是没有运气,后面有什么想法吗?

问题暂未有回复.您可以查看右边的相关问题.
1 使用Jersey手动定义资源

我将我的资源分成了界面-impl因为它更有意义,但是如果我让它扫描我的资源,最新版本的jersey似乎不支持此功能。 如何在web.xml中手动定义资源? 如果我在web.xml中手动定义资源隐含内容,是否可以使用? 谢谢亚历克斯 ...

3 手动注册插件

我正在尝试使用嵌入在 Java 代码中的 PDI 运行转换,但出现关于缺少插件的错误(看起来像是中止步骤)。 我知道我可以使用KETTLE_PLUGIN_BASE_FOLDERS以便 PDI 自动加载它(有效),但为了使我的应用程序更简单,我想使用 Java 手动注册此插件,我该怎么做? 我正在 ...

4 如何自动获取json数据而不是手动复制粘贴?

我想在目标 url 中获取 json 数据: 目标网址 要手动获取它:在浏览器中手动打开它并复制、粘贴。我想要一种更智能的方式——以编程方式和自动方式,尝试了多种方式,都失败了。 方法 1——wget 或 curl 的传统方式: 方法 2——用硒刮除: 它发生在我的浏览器中: 方法三— ...

5 手动实例化的SessionState提供程序的问题

我正在研究一个原型程序,它应该测试ASP.NET的不同(SessionState,Profile等)提供程序,即MySQL,Oracle等。目前我正在使用MySQL提供程序。 我刚刚设法实例化了提供程序,SessionStateContainer和SessionState本身。 Type m ...

6 手动创建 JSON

我有一个 JSON,例如可以是这样的: “姓名”和“年龄”等属性的键是动态的,可以变化。 JSON 也可能如下所示: 重要的是结构,这是我想用Newtonsoft.Json手动构建的。 这是我目前的尝试: 结果: 我试图用来自 newtonsoft 网站的这个例子来解决它,但正 ...

7 自动启动程序无法像手动启动那样工作

我用C语言编写了一个程序,该程序自动在sqlite3数据库中创建一个表,并在其中打印第二个值。 当我在终端中手动启动该程序时,该程序运行良好。 但是,当我在/etc/rc.local中通过在启动时运行该程序时,它无法正常运行。 重新启动后,程序将启动(我在进程列表中看到它),但是它不会 ...

8 自动手动单击 Web 应用程序

我们有一个用 Java EE 开发的 Web 应用程序。 应用程序中有一定的结构,例如:部门 -> 项目 -> 模块 -> 范围。 有很多部门(大约20个),这些部门下有很多项目,这些项目下有很多模块,每个模块下可以有很多范围。 当导航到特定范围时,有一个“创建报告”选项。 现在 ...

9 为什么需要手动注册AbpFeatureValueStore?

我仍在使用2.3.0。 我最近实现了适当的权限和角色管理(使用AbpZero)。 但是由于某种原因,未注册AbpFeatureValueStore ,因为获取功能值时,它总是返回该功能的默认值,而不是写入数据库的默认值。 我对此进行了测试,看来AbpFeatureValueStore没有注 ...

10 替代手动注册对象

在上面的代码中,我有 1 个 NetworkCode 实例,然后有 2 个其他对象的实例(这可能是我使用的不同对象的 100 个实例)。 在这些类中可以是具有特定属性的方法。 RegisterNetworkMethods()正在寻找具有该属性的方法,然后它会为该实例方法创建并存储一个委托,以便 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM