जवाबों:
@ रूबेन द्वारा प्रदान किए गए उपरोक्त स्पष्टीकरण के साथ, मैं यह जोड़ना चाहता हूं कि आप स्प्रिंग रीस्टर्फ़ कार्यान्वयन में समान के बराबर भी संदर्भित कर सकते हैं।
JAX- RS Specification @PathParam - एक URI टेम्पलेट पैरामीटर या एक संसाधन सेगमेंट के मान को संसाधन विधि पैरामीटर, संसाधन वर्ग फ़ील्ड, या संसाधन वर्ग बीन प्रॉपर्टी के मान से बाँधता है।
@Path("/users/{username}")
public class UserResource {
@GET
@Produces("text/xml")
public String getUser(@PathParam("username") String userName) {
...
}
}
@QueryParam - एक संसाधन विधि पैरामीटर, संसाधन वर्ग क्षेत्र, या संसाधन वर्ग शंकु संपत्ति के लिए एक HTTP क्वेरी पैरामीटर के मूल्य (ओं) को बांधता है।
URI: उपयोगकर्ता / क्वेरी? = 100 से
@Path("/users")
public class UserService {
@GET
@Path("/query")
public Response getUsers(
@QueryParam("from") int from){
}}
वसंत का उपयोग करके समान प्राप्त करने के लिए, आप उपयोग कर सकते हैं
@PathVariable (स्प्रिंग) == @ PathParam (जर्सी, JAX-RS),
@RequestParam (स्प्रिंग) == @QueryParam (जर्सी, JAX-RS)
इसके अतिरिक्त, क्वेरी पैरामीटर शून्य हो सकता है लेकिन पथ पैरामीटर नहीं हो सकता। यदि आप पथ पैरामीटर को संलग्न नहीं करते हैं, तो आपको 404 त्रुटि मिलेगी। यदि आप डेटा को अनिवार्य रूप से भेजना चाहते हैं तो आप पथ पैरामीटर का उपयोग कर सकते हैं।
@javax.ws.rs.QueryParam
This annotation allows you to extract values from URI query parameters.
@javax.ws.rs.PathParam
This annotation allows you to extract values from URI template parameters.
PART-1 : @javax.ws.rs.PathParam
@Path("/mercedes")
public class MercedesService {
@GET
@Path("/e55/{year}")
@Produces("image/jpeg")
public Jpeg getE55Picture(@PathParam("year") String year) {
...
}
If I query the JAX-RS service with GET /mercedes/e55/2006, the getE55Picture()
method would match the incoming request and would be invoked.
PART-2 : @javax.ws.rs.QueryParam
URI might look like this: GET /cus?start=0&size=10
@Path("/cus")
public class GreedCorruption {
@GET
@Produces("application/xml")
public String getDeathReport(@QueryParam("start") int start,
@QueryParam("size") int size) {
...
}
}