2012-03-09 10 views
46

मैं एक बाकी यूआरएल सभी उपयोगकर्ताओं को इस तरह स्वरूपित करने के लिए है: http://example.com/users/12345उचित बाकी URL का प्रारूप पर्वतमाला

सब कुछ उपयोगकर्ता के बोलियां प्राप्त करने के लिए: http://example.com/users

आईडी से किसी एक उपयोगकर्ता प्राप्त करने के लिए http://example.com/users/12345/bids

दो तिथियों के बीच सब कुछ उपयोगकर्ता के बोलियां प्राप्त करने के लिए: http://example.com/users/12345/bids/?start=01/01/2012&end=01/31/2012

या यह इस तरह होना चाहिए: http://example.com/users/12345/bids/start/01012012/end/01312012

मैं पहली तारीख सीमा यूआरएल की तरफ झुका रहा हूं क्योंकि शुरुआत और अंत डोमेन में संस्थाएं नहीं हैं। एक तिथि सीमा के साथ एक आरईएसटी यूआरएल प्रारूपित करने का सही तरीका क्या है?

धन्यवाद,

टॉम

+2

मैं तारीखों को आईएसओ 8061 प्रारूप में डालने का सुझाव दूंगा: 2012-01-31। यह अनिश्चितता से बचाता है कि यह महीने-दर-साल या दिन-महीने-वर्ष है या नहीं। –

उत्तर

50

http://example.com/users/12345/bids?start=01-01-2012&end=01-31-2012

बोली (प्रश्न चिह्न से पहले स्लैश निकालने के लिए) के रूप में ही "स्तर" पर क्वेरी पैरामीटर है। लेकिन शायद आप केवल एक क्वेरी पैरामीटर प्रदान करने के लिए समर्थन चाहते हैं। इसलिए यदि वे केवल "प्रारंभ" प्रदान करते हैं तो उसे उस तिथि के बाद सभी बोलियां मिलेंगी, या अगर वे केवल "अंत" प्रदान करते हैं तो उसे उस तारीख से पहले सभी बोलियां मिलेंगी।

तर्क यह है कि प्रश्न पैरामीटर जीईटी अनुरोध से परिणामों का सबसेट प्राप्त करने के लिए अच्छे हैं। वे दूसरे स्तर पर नहीं जाते हैं क्योंकि अगला स्तर आमतौर पर एक विशिष्ट पहचानकर्ता के साथ एक विशिष्ट आइटम होता है।

6

मैं http://example.com/users/12345/bids?start=2012-01-01&end=2012-01-31 साथ जाना होगा।

  • क्वेरी स्ट्रिंग से पहले स्लैश नहीं होना चाहिए।
  • क्वेरी स्ट्रिंग में स्लैश का उपयोग करने से बचें। यह उस तरह से आसान होगा।
+1

अच्छी तरह से किसी को शायद अंतरराष्ट्रीय स्तर पर पठनीय दिनांक प्रारूप का भी उपयोग करना चाहिए, जो https://en.wikipedia.org/wiki/ISO_8601 के अनुसार '2012-01-31' होगा। 'एमडीवाई 'सचमुच संयुक्त राज्य अमरीका है ..... https://en.wikipedia.org/wiki/Date_format_by_country – Blauhirn

0

अगर example.com/users/12345 उपयोगकर्ता को 123 12345 के साथ उपयोगकर्ता प्राप्त करता है, तो आईडी के सभी उपयोगकर्ताओं को प्राप्त करने के लिए यह उदाहरण के साथ example.com/users होना चाहिए जिसमें रिश्ते के रूप में प्रतिक्रिया में शामिल आईडी शामिल है। (आमतौर पर उस संसाधन के लिए एक हाइपरलिंक)।

अब उन्हें प्राप्त करने की तारीख पर्वतमाला से यह example.com/users/start=01-01-2012 & अंत होना चाहिए = 2012/01/31

12345 हिस्सा किसी उपयोगकर्ता की आईडी है, यह एक संसाधन है, इसलिए इसे शेष उपयोगकर्ताओं को प्राप्त करने के लिए शामिल नहीं किया जाना चाहिए।

पैरामीटर के नाम के रूप में यह सार्थक होना चाहिए। शुरूआत का मतलब कुछ भी हो सकता है, लेकिन start_date अधिक अर्थपूर्ण है।

संबंधित मुद्दे