[alibaba/fastjson]如何关闭FastJsonProvider向JAXRS的自动注册?

2025-11-11 140 views
9

如题,这会影响现有使用了jackson的JAXRS工程 @alibaba-oss

回答

4

@VictorZeng zeng

8

@VictorZeng 非常感谢您的回复,但是我是用的是RestEasy,是否有类似的解决方案?或者有什么建议?

3

@firingsloth 可能RestEasy自动scan了provider吧,这样试试呢

     <context-param>
         <param-name>resteasy.scan.providers</param-name>
         <param-value>false</param-value>
     </context-param>

     <context-param>
         <param-name>resteasy.providers</param-name>
         <!-- 
         <param-value>com.alibaba.fastjson.support.jaxrs.FastJsonProvider</param-value>
         -->
         <param-value>com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider</param-value>
     </context-param>
3

@VictorZeng 抱歉回复的有些晚,问题已经解决了 起因是我在pom中引入了

org.jboss.resteasy resteasy-servlet-initializer

意味着开启自动扫描,所以FastJsonProvider必然会被扫描到(这个没有找到解决办法去避免,你上面发的配置方式在自动扫描模式下不生效)

但是如果引入

org.jboss.resteasy resteasy-jackson2-provider

RestEasy可以保证优先使用这个Provider去处理,我缺少了这个Maven配置所以一直在使用FastJsonProvier; RestEasy官方文档给的类似问题的解决方案也不太理想