2015-11-04 11 views
17

Ho configurato il percorso di riposo come "/ v1 /" e l'endpoint configurato in servlet come "/ test /".ATTENZIONE: il metodo (sotto) risorsa contiene annotazione del percorso vuoto

Ora ho rimosso "/ v1" dalla classe java "Test".

org.glassfish.jersey.internal.Errors logErrors 
WARNING: The following warnings have been detected: WARNING: The (sub)resource method test in com.abc.services.Test contains empty path annotation. 

Ho ricevuto l'avviso sopra riportato dopo aver apportato questa modifica. Come gestire questo avviso?

E voglio questo "/ v1" rimuovere le modifiche per oltre 10 percorsi di riposo. Quindi qualcuno mi aiuta a correre senza avvertimenti?

risposta

32

L'avviso indica che è stato annotato un metodo di risorsa con @Path("/") o @Path(""). Per esempio

@Path("test") 
public class Test { 

    @GET 
    @Path("/") 
    public String test(){} 
} 

Non certo perché Jersey avrebbe dato un avvertimento, forse solo per fare in modo che è quello che si vuole veramente. La ragione è che un metodo di risorse con @Path("/") è ridondante, come è già implicita se si dovesse solo fare

@Path("test") 
public class Test { 

    @GET 
    public String test(){} 
} 

senza il @Path("/"). Funziona allo stesso modo. Quindi se li hai, rimuovili e dovrebbe togliere gli avvertimenti.

+0

Grazie a @peeskillest. Funziona ora senza avvisi. – brisk

+2

grazie. Tuttavia, non si applica all'annotazione di livello di classe, in questo caso è richiesto "/". – Sebas

Problemi correlati