एक विश्वसनीय API को डिज़ाइन करते समय, यदि अनुरोध के साथ जुड़े विशिष्ट पैरामीटर हैं तो कोई GET अनुरोध केवल तभी समझता है जब कोई अनुरोध हो? क्या पैरामीटर को क्वेरी स्ट्रिंग के रूप में पास किया जाना चाहिए, और यदि हां, तो क्या करें जब सभी पैरामीटर निर्दिष्ट नहीं हैं या गलत तरीके से स्वरूपित हैं?RESTful एपीआई क्वेरी स्ट्रिंग में पैरामीटर की आवश्यकता है?
उदाहरण के लिए, मान लें कि मेरे पास एक पोस्ट संसाधन है, जिसे 'एपीआई/पोस्ट' एंडपॉइंट द्वारा एक्सेस किया जा सकता है। प्रत्येक पोस्ट में एक भौगोलिक स्थान होता है, और पदों को केवल उस क्षेत्र को निर्दिष्ट करते समय पुनर्प्राप्त किया जा सकता है जब पदों का निवास हो सकता है। इस प्रकार, 3 पैरामीटर आवश्यक हैं: अक्षांश, देशांतर और त्रिज्या।
मैं इस मामले में 2 विकल्प के बारे में सोच सकते हैं:
1. क्वेरी स्ट्रिंग में पैरामीटर लाना: api/posts/?lat=5.54158&lng=71.5486&radius=10
2. URL में पैरामीटर लाना: api/posts/lat/5.54158/lng/71.5486/radius/10
इनमें से कौन सा सही दृष्टिकोण होगा ? क्वेरी स्ट्रिंग में आवश्यक पैरामीटर डालना गलत लगता है, लेकिन बाद वाला दृष्टिकोण कुछ हद तक 'उलझन' लगता है।
पीएस। मुझे पता है कि इस विषय पर पहले से ही कई चर्चाएं हैं (उदाहरण के लिए: REST API Best practices: Where to put parameters?), लेकिन मेरे प्रश्न को विशेष रूप से मामले के लिए संबोधित किया जाता है जब पैरामीटर आवश्यक होते हैं, वैकल्पिक नहीं।
http://programmers.stackexchange.com/questions/270898/designing-a-rest-api-by-uri-vs-query-string –