Jersey: disable default JSON provider

I am using Jersey 2.17, JSON and automatic feature detection.

I have my custom JSON provider extending JacksonJsonProvider. It is annotated using @Providerand is automatically registered, as well as by default:

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
</dependency>

I want to disable / exclude the default default, without abandoning the scan function / manually registering everything.

The only solution I came across was @Priority(Integer.MAX_VALUE)to make sure my provider has a higher priority, but I don't like the idea of ​​relying on priority.

tried jersey.config.disableJsonProcessingit but it doesn't change anything

+4
source share
1 answer

, , . , .

...

CommonProperties.FEATURE_AUTO_DISCOVERY_DISABLE
- or -
"jersey.config.disableAutoDiscovery"

, , , ( ), . ( , , , , ).

...

jersey-media-json-jackson

<dependency>
    <groupId>com.fasterxml.jackson.jaxrs</groupId>
    <artifactId>jackson-jaxrs-json-provider</artifactId>
    <version>2.5.0</version>
</dependency>

jersey-media-json-jackson , Jackson. MBR, MBW ExceptionMapper, . JacksonJsonProvider JacksonJaxbJsonProvider, . JsonParseExceptionMapper JsonMappingExceptionMapper.

...

, JacksonJsonProvider, ObjectMapper, ContextResolver

+2

All Articles