मैंने रीस्टफुल सेवाओं के संस्करण पर कई स्टैक ओवरफ़्लो (और अन्य) पोस्ट पढ़ी हैं। ईमानदार होने के लिए यह थोड़ा जबरदस्त है।विक्रेता एमआईएम प्रकार (एपीआई संस्करण के लिए)
मैंने एक स्वीकार्य उपयोग करने का निर्णय लिया है: हमारे (मामूली-) रीस्टफुल सेवा के लिए हेडर ताकि ग्राहक संसाधन के विशिष्ट संस्करणों का अनुरोध कर सकें। मैं स्पष्ट नहीं हूं कि स्वीकृति हेडर में क्या निर्दिष्ट करना है।
Accept: application/vnd.mycompany.myapp.customer-v2+json
मेरे सवाल कर रहे हैं:
मैं सही हूँ कि सभी VND प्रकार पंजीकृत होना जरूरी है
उदाहरण मैं अक्सर देखा है है? (http://www.iana.org/cgi-bin/mediatypes.pl)
क्या संस्करण और प्रकार (i.e. -v2 + json) प्रकार का हिस्सा है और इसलिए प्रत्येक संस्करण और प्रकार को पंजीकृत करने की आवश्यकता होगी?
क्या "x-" उपप्रकार के बजाय vnd का उपयोग करने का कोई कारण है जिसे पंजीकृत होने की आवश्यकता नहीं है? उदाहरण के लिए:
Accept: application/x-mycompany.myapp-v2+json
मौजूदा API केवल आंतरिक है, लेकिन भविष्य में यह ग्राहकों के सामने आ जाएगा।
सुनिश्चित नहीं है कि यह समझ में आता है, लेकिन क्या मौजूदा प्रकार का उपयोग करना संभव है लेकिन एक संस्करण जोड़ें? (वर्तमान एपीआई रिटर्न "application/json")
Accept: application/json-v2
क्या एक संस्करण और प्रकार जोड़कर के लिए स्वीकार्य प्रारूप (उदा -v2 + json) कर रहे हैं।
क्या होगा यदि कोई ग्राहक गैर-समर्थित संस्करण मांगता है? क्या सही प्रतिक्रिया 406 है? क्या क्लाइंट किसी भी संस्करण का अनुरोध कर सकता है? या अधिक आम तौर पर, क्या होगा यदि ग्राहक कोई स्वीकार्य हेडर प्रदान नहीं करता है या स्वीकार करता है: */*?
कोई अतिरिक्त सुझाव स्वागत है। लक्ष्य, निश्चित रूप से, किसी दिए गए संसाधन के लिए सेवा लौटने के लिए परिवर्तनों की अनुमति देना है, लेकिन मौजूदा ग्राहकों को तोड़ना नहीं है।
- Best practices for API versioning?
- How to version REST URIs
- REST api versioning (only version the representation, not the resource itself)
- http://www.lexicalscope.com/blog/2012/03/12/how-are-rest-apis-versioned/
- http://www.subbu.org/blog/2008/05/avoid-versioning-please
- http://www.informit.com/articles/article.aspx?p=1566460 :
- http://en.wikipedia.org/wiki/Internet_media_type#Prefix_vnd
- http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1
यहाँ संसाधनों की एक छोटी सूची मैं हाल ही में देखा गया है
एक्स-उपसर्ग को बहिष्कृत कर दिया गया है। यदि यह अभी भी उपयोग में था, तो आपको वास्तव में दोनों की आवश्यकता होगी। "Vnd।" विक्रेता उपसर्ग है। यह अभी भी मान्य है, और हमेशा विक्रेता-विशिष्ट माइम-प्रकार का उपयोग करते समय इसका उपयोग किया जाना चाहिए। – yam655