Mapeamento de URIs e métodos HTTP em classes Recurso e seus métodos
Uma das principais vantagens no uso da JSR-311/Jersey é eliminar do nosso desenvolvimento a validação de requisições e o mapeamento das mesmas em classes e métodos que devem processá-las. Isto implica em obter a URI e o método HTTP das solicitações e conferir se existe algum dos nossos serviços que saiba tratá-la. Além disso, antes de invocar os serviços em questão, precisamos extrair das URIs os parâmetros que tenham sido enviados nas mesmas.
A anotação @Path pode ser colocada em classes e métodos. Quando a colocamos sobre uma classe, estamos associando a classe a um prefixo de URI. Esta anotação foi utilizada anteriormente no artigo para associar o prefixo /usuario da nossa aplicação à classe UsuarioResource.
Colocamos a anotação @Path sobre métodos para formar o caminho completo dos nossos serviços. Juntando os valores da anotação @Path sobre os métodos com o valor da anotação sobre a classe, temos a lista de URIs disponíveis na classe Recurso em questão.
A colocação das anotações @GET, @POST, @PUT, @DELETE, @HEAD e @OPTIONS complementa o mapeamento de URIs. Com estas duas informações sobre cada método, conseguimos mapear precisamente cada solicitação na classe e no método que devem tratá-la.
Mostraremos na próxima seção como fica o uso da JSR-311 no desenvolvimento dos serviços de leilão.