2010-12-02 16 views
26

Was bedeutet diese Warnung in Jersey 1.4:Was bedeutet diese seltsame Jerseywarnung?

WARNING: A sub-resource method, public final java.lang.String com.XXX.render(), 
with URI template, "/", is treated as a resource method 

Dies ist, wie die Methode aussieht:

@GET 
@Produces(MediaType.APPLICATION_XML) 
@Path("/") 
public final String render() { 
    return "test"; 
} 

Antwort

39

Warum müssen Sie einen solchen Pfad für die Methode angeben? @Get ist genug, um Jersey zu sagen, dass es die Standardmethode für die gesamte Klasse ist (ich nehme an, dass Ihre Klasse eine @Path ("/ MyRes") Annotation hat).

+0

Was ist mit 'Post'? –

+1

@ AlikElzin-kilaka die gleiche Sache, POST wird von streng angegebenen URL behandelt, die von root + Methode gebildet werden – Dewfy

+0

Großartig. Daraus schließe ich, dass nur '@POST' ausreichend ist und '@Path ("/"). Vielen Dank. –

0

Sieht aus wie Sie das gleiche Problem letzte Woche mit How to route JAX-RS request conditionally, depending on the suffix? hatte - es gibt etwas Glück Fixierung?

Ein Blick auf das Netz zeigt, dass Sie Ihren Konstruktor möglicherweise falsch eingerichtet haben - lesen Sie http://jersey.576304.n2.nabble.com/Problem-using-the-JerseyTest-class-td3256608.html - jemand, der ein ähnliches Problem hatte und es lösen konnte.

+0

Ja, das Problem ist bereits gelöst, wie von Dewfy vorgeschlagen. Funktioniert perfekt ohne diese redundante '@Path ("/")" Annotation. – yegor256