Jackson
Instalação
Para utilizar o Jackson, adicione a dependência java-restify-json-jackson-converter
. O converter
JacksonMessageConverter
será automaticamente registrado.
Maven
<dependency>
<groupId>com.github.ljtfreitas</groupId>
<artifactId>java-restify-json-jackson-converter</artifactId>
<version>{version}</version>
</dependency>
Gradle
dependencies {
compile("com.github.ljtfreitas:java-restify-json-jackson-converter:{version}")
}
Utilização
public interface MyApi {
/* requisições e respostas com o content-type application/json
serão automaticamente serializadas/deserializadas usando o jackson */
@Path("/customers/{id}") @Get
Customer findCustomer(@PathParameter String id);
@Path("/customers") @Post
@JsonContent
Customer createCustomer(@BodyParameter Customer customer);
}
A implementação da classe JacksonMessageConverter
utiliza uma instância do ObjectMapper do Jackson com configurações padrão. A única customização é a feature FAIL_ON_UNKNOWN_PROPERTIES, que é definida como false
.
Caso você precise de outras modificações, seu código pode gerar o ObjectMapper
e instanciar o JacksonMessageConverter
manualmente:
import com.github.ljtfreitas.restify.http.client.message.converter.json.JacksonMessageConverter;
import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper myObjectMapper = new ObjectMapper();
//configura o objectMapper da maneira que desejar...
MyApi myApi = new RestifyProxyBuilder()
.converters()
.add(new JacksonMessageConverter(myObjectMapper))
.and()
.target(MyApi.class)
.build();
Last updated
Was this helpful?