ক্যোয়ারী প্যারামিটার এবং পাথ পরামিতিগুলির মধ্যে মৌলিক পার্থক্য রয়েছে। এটি এর মতো হয়:
www.your_domain?queryparam1=1&queryparam2=2
- ক্যোয়ারী প্যারামিটারগুলি।
www.your_domain/path_param1/entity/path_param2
- পথের পরামিতি।
আমি যে অবাক করেছিলাম তা হ'ল স্প্রিং এমভিসি বিশ্বে প্রচুর লোক একে অপরের জন্য বিভ্রান্ত করে। ক্যোয়ারী প্যারামিটারগুলি অনুসন্ধানের মাপদণ্ডের মতো হলেও, পথের প্যারামগুলি সম্ভবত অনন্যভাবে কোনও উত্স সনাক্ত করবে। এটি বলার পরে, এর অর্থ এই নয় যে আপনার ইউআরআইতে আপনার একাধিক পাথ প্যারামিটার থাকতে পারে না, কারণ সংস্থানটির কাঠামোটি নীস্ট করা যায়। উদাহরণস্বরূপ, আসুন ধরা যাক আপনার কোনও নির্দিষ্ট ব্যক্তির একটি নির্দিষ্ট গাড়ী সংস্থান দরকার:
www.my_site/customer/15/car/2
- 15 তম গ্রাহকের দ্বিতীয় গাড়ি খুঁজছেন।
সমস্ত পাথের পরামিতিগুলিকে মানচিত্রে রাখার জন্য ইউসকেস কী হবে? পাথ প্যারামিটারগুলির কোনও "কী" থাকে না যখন আপনি নিজেই কোনও ইউআরআই দেখেন, মানচিত্রের অভ্যন্তরে থাকা এই কীগুলি আপনার @ ম্যাপিং টীকা থেকে নেওয়া হবে, উদাহরণস্বরূপ:
@GetMapping("/booking/{param1}/{param2}")
HTTP / REST দৃষ্টিকোণ থেকে পাথের পরামিতিগুলি কোনও মানচিত্রে প্রকৃতপক্ষে অনুমান করা যায় না। আমার মতে স্প্রিংয়ের নমনীয়তা এবং কোনও বিকাশকারীকে মিটানোর জন্য তাদের আকাঙ্ক্ষা সম্পর্কে এটি সবই।
আমি কখনই পথের পরামিতিগুলির জন্য কোনও মানচিত্র ব্যবহার করব না, তবে এটি ক্যোয়ারী প্যারামিটারগুলির জন্য বেশ কার্যকর হতে পারে।
@RequestParam MultiValueMap<String, String>