[java] क्या हमारे पास एक ही आरईएसटी विधि के लिए एक से अधिक @ पाथ एनोटेशन हो सकता है


Answers

जैसा कि टॉम के उत्तर में बताया गया है, आप एक ही विधि पर एक से अधिक @Path एनोटेशन का उपयोग नहीं कर सकते हैं, क्योंकि आप error: duplicate annotation में भाग लेंगे error: duplicate annotation संकलन समय पर error: duplicate annotation

मुझे लगता है कि इस पर जाने का सबसे आसान तरीका विधि अधिभार का उपयोग करना है:

@Path("{foo}")
public Response rest(@PathParam("foo") final String foo) {
    return this.rest(foo, "");
}

@Path("{foo}/{bar}")
public Response rest(@PathParam("foo") final String foo,
                     @PathParam("bar") final String bar) {
    return Response.ok(foo + " " + bar).build();
}

यदि आप उस मामले में भाग लेते हैं जहां एकाधिक अधिभारित विधियों के हस्ताक्षर हैं तो आप अधिक अलग-अलग विधि नामों का भी उपयोग कर सकते हैं।

Question

क्या हमारे पास एक ही आरईएसटी विधि के लिए एक से अधिक @Path एनोटेशन हो सकता है यानी निष्पादित विधि समान है, लेकिन इसे एक से अधिक यूआरएल तक पहुंचने पर निष्पादित किया गया है?

उदाहरण: मैं http://a/b/c और http://a/b दोनों पर searchNames() विधि को चलाने के लिए चाहता हूं।






Links