উত্তর:
ধরুন আপনি কিছু অর্ডার আনার জন্য url লিখতে চান, আপনি বলতে পারেন
www.mydomain.com/order/123
যেখানে 123 অর্ডারআইডি করা হয়।
সুতরাং এখন আপনি যে ইউআরএলটি বসন্তের এমভিসি কন্ট্রোলারে ব্যবহার করবেন তা দেখতে ভালো লাগবে
/order/{orderId}
এখন অর্ডার আইডি একটি পাথ ভেরিয়েবল হিসাবে ঘোষণা করা যেতে পারে
@RequestMapping(value = " /order/{orderId}", method=RequestMethod.GET)
public String getOrder(@PathVariable String orderId){
//fetch order
}
আপনি যদি url www.mydomain.com/order/123 ব্যবহার করেন তবে অর্ডারআইডি ভেরিয়েবলটি 123 মানের দ্বারা বসন্তের মধ্যে পপুলেটে যাবে
এছাড়াও নোট করুন যে প্যাথভ্যারেবলটি অনুরোধের সাথে পৃথক পৃথক হয় কারণ প্যাথ ভেরিয়েবল 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;
}
আশা করি এটি আপনার কোড তৈরিতে সহায়তা করবে।
আপনার যদি পাথ ভেরিয়েবলগুলির সাথে ইউআরএল থাকে তবে উদাহরণস্বরূপ 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
ইউআরএল থেকে মান আনতে ব্যবহৃত হয়
উদাহরণস্বরূপ: কিছু প্রশ্ন করা
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(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;
}
আসুন ধরে নেওয়া যাক আপনি www.example.com/test/111 হিসাবে ইউআরএল হিট করেছেন। এখন আপনাকে আপনার নিয়ামক পদ্ধতিতে 111 (যা গতিশীল) মানটি পুনরুদ্ধার করতে হবে tএখন আপনি @PathVariable নীচে ব্যবহার করবেন:
@RequestMapping(value = " /test/{testvalue}", method=RequestMethod.GET)
public void test(@PathVariable String testvalue){
//you can use test value here
}
সুতরাং ভেরিয়েবল মানটি url থেকে পুনরুদ্ধার করা হয়
এটি গতিশীল ইউআরআই মানচিত্র / পরিচালনা করতে ব্যবহৃত টীকাগুলির মধ্যে একটি। এমনকি ইউআরআই গতিশীল প্যারামিটারের জন্য কেবল নির্দিষ্ট ধরণের ইনপুট গ্রহণ করার জন্য আপনি একটি নিয়মিত অভিব্যক্তি নির্দিষ্ট করতে পারেন।
উদাহরণস্বরূপ, যদি কোনও অনন্য নম্বর ব্যবহার করে কোনও বই পুনরুদ্ধার করার URL টি হয়:
URL:http://localhost:8080/book/9783827319333
ইউআরএলটির শেষের দিকে বর্ণিত নম্বরটি @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 এখানে মান এবং অন্য ভ্যালু পরিবর্তনশীল যা আপনি @PATVariable ("মান") এর মান এবং @ পাথ ভারিবেল ("আরেকটি ভ্যালু") ব্যবহার করে স্ট্রিং অপর ভ্যালু