Feign makes writing java http clients easier
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Rob Spieldenner 4872d34eec Build upgrades 10 years ago
..
src Support binary request/response bodies (#57) 11 years ago
README.md Squashed commit of the following: 11 years ago
build.gradle Build upgrades 10 years ago

README.md

Jackson Codec

This module adds support for encoding and decoding JSON via Jackson.

Add JacksonEncoder and/or JacksonDecoder to your Feign.Builder like so:

GitHub github = Feign.builder()
                     .encoder(new JacksonEncoder())
                     .decoder(new JacksonDecoder())
                     .target(GitHub.class, "https://api.github.com");

If you want to customize the ObjectMapper that is used, provide it to the JacksonEncoder and JacksonDecoder:

ObjectMapper mapper = new ObjectMapper()
        .setSerializationInclusion(JsonInclude.Include.NON_NULL)
        .configure(SerializationFeature.INDENT_OUTPUT, true)
        .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

GitHub github = Feign.builder()
                     .encoder(new JacksonEncoder(mapper))
                     .decoder(new JacksonDecoder(mapper))
                     .target(GitHub.class, "https://api.github.com");

Alternatively, you can add the encoder and decoder to your Dagger object graph using the provided JacksonModule like so:

GitHub github = Feign.create(GitHub.class, "https://api.github.com", new JacksonModule());