Declaração de recursos JAX-RS

Se você estiver usando JAX-RS, sempre declare seus recursos usando interfaces:

@Path("/myresource")
public interface MyResource {
@GET
Response get(@QueryParam("param") String param);
...
}

Isso tem várias vantagens:

  • Você pode colocar seus recursos em pacotes públicos de um módulo (ou mesmo em um módulo “api” separado) que estão disponíveis para outros módulos, sem expor qualquer implementação.

  • Você ainda pode usar funções auxiliares como UriBuilder.fromResource (…) para obter o URI de seus recursos. Isso é útil se você deseja enviar cabeçalhos de redirecionamento. Essas interfaces, na verdade, serão a fonte autorizada para URIs de recursos.

  • Finalmente, o pacote (e seus subpacotes) onde você decide colocar sua declaração de recurso conterá uma especificação agradável, concisa e atualizada de sua API HTTP.