जवाबों:
मान लीजिए कि आप कुछ आदेश लाने के लिए एक url लिखना चाहते हैं, तो आप कह सकते हैं
www.mydomain.com/order/123
जहां 123 ऑर्डरआईडी है।
तो अब आप स्प्रिंग mvc कंट्रोलर में जो url इस्तेमाल करेंगे वह दिखेगा
/order/{orderId}
अब आदेश आईडी को एक पथ चर घोषित किया जा सकता है
@RequestMapping(value = " /order/{orderId}", method=RequestMethod.GET)
public String getOrder(@PathVariable String orderId){
//fetch order
}
यदि आप url www.mydomain.com/order/123 का उपयोग करते हैं, तो ऑर्डरआईडी वैरिएबल वसंत द्वारा मूल्य 123 से आबाद हो जाएगा
यह भी ध्यान दें कि PathVariable अनुरोध से अलग है क्योंकि pathVariable URL का हिस्सा है। अनुरोध परम का उपयोग कर एक ही यूआरएल की तरह दिखेगा www.mydomain.com/order?orderId=123
नीचे दिए गए कोड स्निपेट पर एक नज़र डालें।
@RequestMapping(value="/Add/{type}")
public ModelAndView addForm(@PathVariable String type ){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("addContent");
modelAndView.addObject("typelist",contentPropertyDAO.getType() );
modelAndView.addObject("property",contentPropertyDAO.get(type,0) );
return modelAndView;
}
आशा है कि यह आपके कोड के निर्माण में मदद करता है।
यदि आपके पास पथ चर के साथ url है, तो उदाहरण www.myexampl.com/item/12/update जहां 12 आईडी है और वह चर है जिसे आप अपने निष्पादन को निर्दिष्ट करने के लिए उपयोग करना चाहते हैं उदाहरण के लिए एक अद्यतन करने के लिए एकल फ़ॉर्म का उपयोग करना। बनाएँ, आप इसे अपने नियंत्रक में करते हैं।
@PostMapping(value = "/item/{id}/{method}")
public String getForm(@PathVariable("id") String itemId ,
@PathVariable("method") String methodCall , Model model){
if(methodCall.equals("create")){
//logic
}
if(methodCall.equals("update")){
//logic
}
return "path to your form";
}
@PathVariable
URL से मान प्राप्त करने के लिए उपयोग किया जाता है
उदाहरण के लिए: कुछ प्रश्न प्राप्त करने के लिए
www.stackoverflow.com/questions/19803731
यहाँ कुछ सवाल है id
URL में एक पैरामीटर के रूप में गए हैं
अब controller
आपको इस मूल्य को प्राप्त करने के लिए केवल विधि पैरामीटर में @PathVariable पास करना होगा
@RequestMapping(value = " /questions/{questionId}", method=RequestMethod.GET)
public String getQuestion(@PathVariable String questionId){
//return question details
}
एनोटेशन जो इंगित करता है कि एक विधि पैरामीटर एक यूआरआई टेम्पलेट चर के लिए बाध्य होना चाहिए। RequestMapping एनोटेट हैंडलर विधियों के लिए समर्थित।
@RequestMapping(value = "/download/{documentId}", method = RequestMethod.GET)
public ModelAndView download(@PathVariable int documentId) {
ModelAndView mav = new ModelAndView();
Document document = documentService.fileDownload(documentId);
mav.addObject("downloadDocument", document);
mav.setViewName("download");
return mav;
}
आइए मान लेते हैं कि आपने एक url को www.example.com/test/111 के रूप में मारा। अब आपको अपने कंट्रोलर मेथड के लिए वेल्यू १११ (जो डायनेमिक है) प्राप्त करनी है। समय आने पर आप @PathVariable का उपयोग इस प्रकार करेंगे:
@RequestMapping(value = " /test/{testvalue}", method=RequestMethod.GET)
public void test(@PathVariable String testvalue){
//you can use test value here
}
चर मान को url से पुनर्प्राप्त किया जाता है
यह डायनेमिक URI को मैप / हैंडल करने के लिए उपयोग किए जाने वाले एनोटेशन में से एक है। आप केवल विशिष्ट प्रकार के इनपुट को स्वीकार करने के लिए URI डायनेमिक पैरामीटर के लिए एक नियमित अभिव्यक्ति भी निर्दिष्ट कर सकते हैं।
उदाहरण के लिए, यदि URL एक अद्वितीय संख्या का उपयोग करते हुए एक पुस्तक को पुनः प्राप्त करने के लिए होगा:
URL:http://localhost:8080/book/9783827319333
URL के अंतिम में दर्शाया गया नंबर @PathVariable का उपयोग करके दिखाया जा सकता है:
@RequestMapping(value="/book/{ISBN}", method= RequestMethod.GET)
public String showBookDetails(@PathVariable("ISBN") String id,
Model model){
model.addAttribute("ISBN", id);
return "bookDetails";
}
संक्षेप में, यह बस एक और वसंत में HTTP अनुरोधों से डेटा निकालने के लिए था।
नीचे दिए गए कोड स्निपेट पर एक नज़र डालें।
@RequestMapping(value = "edit.htm", method = RequestMethod.GET)
public ModelAndView edit(@RequestParam("id") String id) throws Exception {
ModelMap modelMap = new ModelMap();
modelMap.addAttribute("user", userinfoDao.findById(id));
return new ModelAndView("edit", modelMap);
}
यदि आप पूरी परियोजना को देखना चाहते हैं कि यह कैसे काम करता है तो इसे नीचे दिए गए लिंक से डाउनलोड करें: -
ModelAndView
।@PathVariable
एनोटेशन का उपयोग चर नाम और नियंत्रक मूल्य पर इसके मूल्य को प्राप्त करने के लिए किया जाता है। जैसे www.abcd.com/api/value=34455&anotherValue=skjdfjhks यहां मूल्य और anotherValue चर जो आप उपयोग कर प्राप्त कर सकते हैं @PathVariable ( "मान") पूर्णांक मूल्य और @PathVariable ( "anotherValue") स्ट्रिंग anotherValue है