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