您需要将该属性设置jersey.config.jsonFeature
为JacksonFeature
不注册默认的 JsonB 功能。
您可以通过覆盖Application.getProperties()
方法在代码中设置它,或者将 web.xml 中的属性设置为context-param
:
<context-param>
<param-name>jersey.config.jsonFeature</param-name>
<param-value>JacksonFeature</param-value>
</context-param>
如果您的 Jersey Servlet 在 web.xml 中显式声明(作为 javax.ws.rs.core.Application 或作为自定义子类),则在 Jersey Application servlet 声明中使用 init-param 代替:
<servlet>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<init-param>
<param-name>jersey.config.jsonFeature</param-name>
<param-value>JacksonFeature</param-value>
</init-param>
...
</servlet>
您还需要将 Jackson 依赖项添加到您的应用程序中 - 但您可能已经这样做了,所以请忽略这一点。
解释:
MOXy 功能提供了一个属性jersey.config.disableMoxyJson
来禁用它。Payara 5 中的 JsonB 功能默认不提供此类属性,但如果jersey.config.jsonFeature
属性存在且不存在,则不会自行注册JsonBindingFeature
。相同的属性适用于所有 Jersey 功能,因此将其设置为JacksonFeature
仅允许注册 JacksonFeature。