URL mapeando um serviço de descanso
Pergunta
Eu tenho que mapear um url de serviço de descanso como "http: // servidor: 8080/aplicativo/serviço/cliente/v1"Para o método CreateCustomer na classe CreateCustomerbean.
Eu fiz os seguintes mapeamentos ..
*Web.xml*
<servlet-mapping>
<servlet-name>RestiveServlet</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
*Rest-Config.xml*
<jaxrs:server address="/customer/"
<jaxrs:serviceBean>
<ref bean="CreateCustomerBean"/>
</jaxrs:serviceBean>
</jaxrs:server>
Agora o problema é o caminho restante do URL ("http: // servidor: 8080/aplicativo/serviço/cliente/v1") Is v1 REST Tudo é mapeado e eu tenho que especificar 2 atributos @Path um no nível da classe CreateCustomerbean e um no método CreateCustomer nesse feijão .. então eu tenho que anexar" criar "antes de V1 .. e o URL se torna
@Path (/create/)
CreateCustomerbean {
@Path (/v1)
createClient (String request) {}
}
http: // servidor: 8080/aplicativo/serviço/cliente/create/v1/ que eu não quero .. Existe alguma maneira de evitar o atributo @Path no nível da classe e direcionar toda a solicitação para o método CreateCustomer.
Solução
Em seu código, você pode reescrever o código como este
@Path ("/v1")
CreateCustomerBean{
@Post
createClient(String request){ }
}
Desde que você especifique o atributo POST, toda a solicitação de postagem deve ser re-dirigida para o respectivo método.
Espero que ajude. Felicidades