Альтернативное решение
Глядя в исходный код, ResteasyJackson2Provider
имеет следующие аннотаций
@Provider
@Consumes({"application/*+json", "text/json"})
@Produces({"application/*+json", "text/json"})
поэтому я предпочел создать класс поставщика с конкретными аннотаций, чтобы быть уверенным, что будет выбран первый :
public class RestEasyClientJackson {
private ObjectMapper mapper;
private JacksonJsonProvider provider;
private Client client;
@Before
public void setUp() throws Exception {
mapper = new ObjectMapper();
mapper = mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
provider = new MyProvider(mapper);
client = ClientBuilder.newBuilder().register(provider).build();
}
@Provider
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
class MyProvider extends JacksonJsonProvider {
MyProvider(ObjectMapper mapper) {
super(mapper);
}
@Test
public void myTest() throws Exception {
// some test code...
}
}
По-прежнему мой пользовательский поставщик json получает вызов с помощью вышеуказанного подхода. – user1578872