non so se il titolo è confusa, ma cerchiamo di dire che ho questa interfaccia:È possibile definire un'interfaccia di servizio jax-rs separata dalla sua implementazione (con eclissi e jersey)?
@Produces(MediaType.APPLICATION_JSON)
@Path("/user")
public interface UserService {
@GET
@Path("/{userId}")
public Response getUser(@PathParam("userId") Long userId);
}
Perché quando cerco di implementare una versione di Eclipse riscrive l'annotazione per il metodo sottoposto a override, ma non per la classe?
class UserServiceImpl implements UserService {
@Override
@GET
@Path("/{userId}")
public Response getUser(@PathParam("userId") Long userId) {
// TODO Auto-generated method stub
return null;
}
}
Stavo cercando di creare una definizione standard per il servizio Web restful e quindi avere diverse implementazioni. È qualcosa di simile a questo con jax-rs standard? Sto usando annotazioni sbagliate per caso?
in realtà non è necessario inserire le annotazioni sia sull'interfaccia che sul calcestruzzo. puoi semplicemente mettere tutto sull'interfaccia eccetto per @Path sulla classe (@Path ("/ utente")). – shlomi33
intendevo dire che puoi lasciarlo sull'interfaccia no sul cemento. in questo modo è possibile rendere l'interfaccia disponibile per un proxy client. – shlomi33
@ shlomi33 Hai ragione, ma non è una pratica incoraggiata. Forse dopo l'ultima modifica è meglio affermarlo. –