Extensões

O processamento de anotações é realizado por implementações da interface ContractReader. A implementação padrão utiliza as anotações fornecidas pelo java-restify, mas existem extensões para outros conjuntos de anotações.

Caso deseje implementar algum suporte customizado para qualquer conjunto de anotações, basta criar sua própria implementação de ContractReader e utilizá-la na construção do proxy:

import com.github.ljtfreitas.restify.http.contract.metadata.ContractReader;
import com.github.ljtfreitas.restify.http.contract.metadata.EndpointMethods;
import com.github.ljtfreitas.restify.http.contract.metadata.EndpointTarget;

class MyContractReader implements ContractReader {

    @Override
    public EndpointMethods read(EndpointTarget target) {
        /* 
        EndpointTarget fornece o tipo da interface e a url base utilizada na construção do proxy.

        EndpointMethods representa a coleção de métodos que serão utilizados para requisições.
        */
    }
}

MyApi myApi = new RestifyProxyBuilder()
  .contract(new MyContractReader())
  .target(MyApi.class)
    .build();

Last updated