@Provides @Singleton public JacksonJsonProvider getJacksonJsonProvider(@Json ObjectMapper objectMapper) { final JacksonJsonProvider provider = new JacksonJsonProvider(); provider.setMapper(objectMapper); return provider; }
@Override protected void configureClient(ClientConfig clientConfig) { final JacksonJsonProvider jsonProvider = new JacksonJsonProvider(); jsonProvider.setMapper(configuration.mapper); configuration.clientConfigurator.accept(clientConfig); clientConfig.register(jsonProvider); } };
/** * Like getClasses, this method declares web resources, providers, and features to the JAX-RS implementation. * However, these are single instances that will be reused for all requests (they are singleton-scoped). * See https://jersey.java.net/apidocs/latest/jersey/javax/ws/rs/core/Application.html#getSingletons() * Leave <Object> out of method signature to avoid confusing the Guava type inference. */ @Override public Set<Object> getSingletons() { return Sets.newHashSet ( // Show exception messages in responses new OTPExceptionMapper(), // Enable Jackson JSON response serialization new JacksonJsonProvider(), // Enable Jackson XML response serialization new JacksonXMLProvider(), // Serialize POJOs (unannotated) JSON using Jackson new JSONObjectMapperProvider(), // Allow injecting the OTP server object into Jersey resource classes server.makeBinder() ); }
protected ClientBase(ClientConfig config, ConductorClientConfiguration clientConfiguration, ClientHandler handler) { objectMapper = new JsonMapperProvider().get(); JacksonJsonProvider provider = new JacksonJsonProvider(objectMapper); config.getSingletons().add(provider); if (handler == null) { this.client = Client.create(config); } else { this.client = new Client(handler, config); } conductorClientConfiguration = clientConfiguration; payloadStorage = new PayloadStorage(this); }
clientConfig.register(new JacksonJsonProvider(objectMapper));
.establishConnectionTimeout(connectionTimeout, TimeUnit.SECONDS) .socketTimeout(readTimeout, TimeUnit.SECONDS) .register(new JacksonJsonProvider()) .register(new JacksonConfig()) .register(new ApiHeaderTokenFilter(apiToken))
WebClient client; final List<Object> providers = new ArrayList<>(); JacksonJsonProvider jacksonJsonProvider = new JacksonJsonProvider(); providers.add(jacksonJsonProvider);
/** * Build the Client used to make HTTP requests with the latest settings, * i.e. objectMapper and debugging. * TODO: better to use the Builder Pattern? * @return API client */ public ApiClient rebuildHttpClient() { // Add the JSON serialization support to Jersey JacksonJsonProvider jsonProvider = new JacksonJsonProvider(objectMapper); DefaultClientConfig conf = new DefaultClientConfig(); conf.getSingletons().add(jsonProvider); Client client = Client.create(conf); client.addFilter(new GZIPContentEncodingFilter(false)); if (debugging) { client.addFilter(new LoggingFilter()); } this.httpClient = client; return this; }
@Override public Set< Object > getSingletons() { Set<Object> singletons = new HashSet<>(); singletons.add(new JacksonJsonProvider()); singletons.add(new ValidationExceptionMapper()); singletons.add(new JAXRSBeanValidationFeature()); return singletons; }
@Override public Set< Object > getSingletons() { Set<Object> singletons = new HashSet<>(); singletons.add(new JacksonJsonProvider()); singletons.add(new ValidationExceptionMapper()); singletons.add(new JAXRSBeanValidationFeature()); return singletons; }
protected WebClient createWebClient(final String url, final String media) { final List< ? > providers = Arrays.asList(new JacksonJsonProvider()); final WebClient wc = WebClient .create("http://localhost:" + getPort() + url, providers) .accept(media); WebClient.getConfig(wc).getHttpConduit().getClient().setReceiveTimeout(8000L); return wc; }
protected WebClient createWebClient(final String url) { return WebClient .create(getBaseUrl() + url, Arrays.< Object >asList(new JacksonJsonProvider()), Arrays.< Feature >asList(new LoggingFeature()), null) .accept(MediaType.APPLICATION_JSON).accept("application/yaml"); }
@Test public void testGetSuperBookProxy() throws Exception { String endpointAddress = "http://localhost:" + PORT + "/webapp/store2"; BookStoreSpring proxy = JAXRSClientFactory.create(endpointAddress, BookStoreSpring.class, Collections.singletonList(new JacksonJsonProvider())); SuperBook book = proxy.getSuperBookJson(); assertEquals(999L, book.getId()); }
@Test public void testGetGenericSuperBookInt2() throws Exception { String endpointAddress = "http://localhost:" + PORT + "/webapp/genericstoreInt2"; GenericBookServiceInterface proxy = JAXRSClientFactory.create(endpointAddress, GenericBookServiceInterface.class, Collections.singletonList(new JacksonJsonProvider())); WebClient.getConfig(proxy).getHttpConduit().getClient().setReceiveTimeout(1000000000L); List<SuperBook> books = proxy.getSuperBook(); assertEquals(1, books.size()); assertEquals(111L, books.get(0).getId()); }
@Test public void testEchoSuperBookProxy() throws Exception { String endpointAddress = "http://localhost:" + PORT + "/webapp/store2"; BookStoreSpring proxy = JAXRSClientFactory.create(endpointAddress, BookStoreSpring.class, Collections.singletonList(new JacksonJsonProvider())); SuperBook book = proxy.echoSuperBookJson(new SuperBook("Super", 124L, true)); assertEquals(124L, book.getId()); assertTrue(book.isSuperBook()); }
@Test public void testGetHelloWorldJsonSingle() throws Exception { String address = "http://localhost:" + PORT + "/rx22/flowable/textJsonSingle"; WebClient wc = WebClient.create(address, Collections.singletonList(new JacksonJsonProvider())); HelloWorldBean bean = wc.accept("application/json").get(HelloWorldBean.class); assertEquals("Hello", bean.getGreeting()); assertEquals("World", bean.getAudience()); }
@Test public void testJwsJsonBookBeanHmac() throws Exception { String address = "https://localhost:" + PORT + "/jwsjsonhmac"; BookStore bs = createBookStore(address, "org/apache/cxf/systest/jaxrs/security/secret.jwk.properties", Collections.singletonList(new JacksonJsonProvider())); Book book = bs.echoBook(new Book("book", 123L)); assertEquals("book", book.getName()); assertEquals(123L, book.getId()); } @Test
@Test public void testGetHelloWorldJson() throws Exception { String address = "http://localhost:" + PORT + "/rx/textJson"; WebClient wc = WebClient.create(address, Collections.singletonList(new JacksonJsonProvider())); HelloWorldBean bean = wc.accept("application/json").get(HelloWorldBean.class); assertEquals("Hello", bean.getGreeting()); assertEquals("World", bean.getAudience()); } @Test
@Test public void testJwsJwkBookHMac() throws Exception { String address = "https://localhost:" + PORT + "/jwsjwkhmac"; BookStore bs = createJwsBookStore(address, Collections.singletonList(new JacksonJsonProvider())); Book book = bs.echoBook(new Book("book", 123L)); assertEquals("book", book.getName()); assertEquals(123L, book.getId()); } private BookStore createJwsBookStore(String address,
@Test public void testJweRsaJwsBookHMac() throws Exception { String address = "https://localhost:" + PORT + "/jwejwshmac"; HmacJwsSignatureProvider hmacProvider = new HmacJwsSignatureProvider(ENCODED_MAC_KEY, SignatureAlgorithm.HS256); BookStore bs = createJweJwsBookStore(address, hmacProvider, Collections.singletonList(new JacksonJsonProvider())); Book book = bs.echoBook(new Book("book", 123L)); assertEquals("book", book.getName()); assertEquals(123L, book.getId()); }