程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JBoss resteasy-定制Jackson提供商大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决JBoss resteasy-定制Jackson提供商?

开发过程中遇到JBoss resteasy-定制Jackson提供商的问题如何解决?下面主要结合日常开发的经验,给出你关于JBoss resteasy-定制Jackson提供商的解决方法建议,希望对你解决JBoss resteasy-定制Jackson提供商有所启发或帮助;

添加“ application / Json”以及其他注释解决了该问题。

@ProvIDer
@Consumes({ "application/Json","application/*+Json", "text/Json" })
@Produces({ "application/Json","application/*+Json", "text/Json" })
public class JsonProvIDer extends JacksonjsonProvIDer {

Spring根据比赛和权重确定优先级。由于默认JsonProvIDer在版本3.1.0中添加了注释“ application / Json”,因此默认提供程序具有优先权,因此向自定义JsonProvIDer添加“ application / Json”解决了该问题。

解决方法

我在我的Spring启动应用程序中使用JBoss
resteasy。如下配置了我的自定义JasonProvider并使用COR_621_11845@.fasterxml.jackson。

    @Provider
    @Priority(value=1)
    @Consumes({ "application/*+json","text/json" })
    @Produces({ "application/*+json","text/json" })
    public class JsonProvider extends JacksonJsonProvider {

      public static final PeriodFormatter STANDARD_ISO_PERIOD_FORMAT = ISOPeriodFormat.standard();

        public static final ObjectMapper OBjeCT_MAPPER = new ObjectMapper().configure(WRITE_DATES_AS_timestAMPS,falsE).configure(FAIL_ON_UNKNOWN_PROPERTIES,falsE)
                    .setDateFormat(ISO8601_WITH_MILLIS);

    static {
            final SimpleModule module = new SimpleModule("JsonProviderModule",new Version(1,null,null));
            module.addserializer(Date.class,new Dateserializer());
            module.addDeserializer(Date.class,new DateDeserializer());

            OBjeCT_MAPPER.registerModule(modulE);
        }

   public JsonProvider() {
        super(OBjeCT_MAPPER);
    }
}

在我的客户代码中

    final Client client = factory.getClient();
    client.register(jsonProvider);

然jsonProvider已注册,但是当我打电话时,它没有调用我的jsonProvider。

它曾经与resteasy 3.0.14.Final版本一起正常工作。

我最近升级到3.1.4.Final,还有其他几个Jar。不知道为什么不采用最新版本的定制JsonProvider。

还有其他注册方式吗?

相关pom整体,

<dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jackson2-provider</artifactId>
            <version>3.1.4.Final</version>
        </dependency>

<dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-validator-provider-11</artifactId>
            <version>3.1.4.Final</version>
        </dependency>

是否还有其他Pom冲突需要验证&Hellip;

谢谢

大佬总结

以上是大佬教程为你收集整理的JBoss resteasy-定制Jackson提供商全部内容,希望文章能够帮你解决JBoss resteasy-定制Jackson提供商所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: