संस्थागत अवसंरचना
REST API सुसंगत और मानव-पठनीय है। यह स्व-दस्तावेजीकरण है।
GET wp-json/wp/v2/posts
यह स्पष्ट है कि यह क्या करता है। यहGET
कुछ पोस्ट है।
आपके पास एक नाम स्थान है: wp
एक संस्करण:v2
और एक वस्तु संग्रहposts
क्या आप अनुमान लगा सकते हैं: क्या GET wp-json/wp/v2/posts/5
करता है? कैसा रहेगा :GET wp-json/wp/v2/posts/5/comments
कैसे के बारे में:GET wp-json/shop/v2/orders/345/lines/11/price
एक डेवलपर को देखकर आसानी से अनुमान लगाया जा सकता है कि यह दस्तावेज को पढ़े बिना भी 11
ऑर्डर पर लाइन की कीमत प्राप्त करने वाला है 345
। देव आसानी से यह भी बता सकते हैं कि यह shop
प्लगिन से आ रहा है क्योंकि यह नामांकित है।
कैसे के बारे POST /wp-json/v2/posts title=New Blog Post
मेंPUT /wp-json/v2/posts title=New Title
यह भी स्पष्ट है। यह एक नई पोस्ट बनाता है। वैसे, यह नई पोस्ट की आईडी लौटाता है। यह AJAX या REST API के बारे में नहीं है। AJAX केवल एक तकनीक है जो REST API तक पहुँचता है। जबकि, इससे पहले, आपको सार अजाक्स फ़ंक्शन नामों की एक गुच्छा के साथ आना होगा: जैसे
get_price_for_lineitem( $order, $line )
। क्या यह केवल एक संख्या या JSON ऑब्जेक्ट को वापस करने जा रहा है? मुझे यकीन नहीं है, जहां प्रलेखन है। ओह ... अजाक्स कॉल था get_order_line_price
या get_lineitem_price
।
डेवलपर को इन निर्णयों को करने की आवश्यकता नहीं है, क्योंकि मौजूदा wp-json
एपीआई आपके स्वयं के समापन बिंदु बनाते समय पालन करने के लिए एक अच्छा आधार मॉडल प्रदान करता है । निश्चित रूप से, एक प्लगइन या एपीआई डेवलपर इन नियमों को तोड़ सकता है, लेकिन सामान्य तौर पर एक मानक का पालन करना आसान होता है जो पहले से ही सेट किया गया है और अधिकांश डेवलपर्स पहले से सेट किए गए पैटर्न का पालन करेंगे (देखें कि अब pervasive jQuery पैटर्न कैसे हैं)।
व्याकुलता के बिना निर्माण
क्या मुझे इस बात की परवाह है कि कैसे POST /wp-json/mysite/v1/widgets title=Foobar
काम करता है? नहीं। मैं बस एक नया बनाना Widget
चाहता हूं और मुझे बदले में आईडी चाहिए। मैं पृष्ठ को ताज़ा किए बिना अपने सामने के छोर पर एक फ़ॉर्म से करना चाहता हूं। यदि मैं किसी URL से अनुरोध करता हूं, तो मुझे परवाह नहीं है कि यह PHP, C #, ASP.NET या कोई अन्य तकनीक है। मैं सिर्फ एक नया विजेट बनाना चाहता हूं।
REST API बैकएंड को सामने से डिकूप करता है। तकनीकी रूप से, यदि आपका एपीआई काफी अच्छा है, तो आप अपने पूरे बैकएंड स्टैक को बदल सकते हैं। जब तक आप उसी REST API संरचना को बनाए रखते हैं, तब तक API पर निर्भर कुछ भी प्रभावित नहीं होगा।
यदि आपकी REST API सरल और सुसंगत है, तो संज्ञा का उपयोग करके Widgets
वस्तुओं के संग्रह के रूप में और संज्ञा / पहचानकर्ता Widget/2
एक इकाई को इंगित करना पसंद करते हैं, यह वास्तव में उस API को एक विशाल भिन्न तकनीक में लिखना अधिक सरल है क्योंकि यह कमोबेश बुनियादी डेटाबेस प्लंबिंग है कोड।
मानक HTTP अनुरोध क्रियाओं का उपयोग करता है।
REST API वेब के काम करने के तरीके और VERBs (पढ़ें: कार्रवाई) के मूल का लाभ उठाता है, जो आप मानक डेटा एनएचडी कार्यों के लिए मानचित्र का उपयोग करते हैं।
CREATE : POST
READ : GET
UPDATE : PUT/PATCH
DELETE : DELETE
अधिक HTTP क्रियाएं हैं, लेकिन वे मूल बातें हैं। इंटरनेट पर हर एक अनुरोध इन क्रियाओं का उपयोग करता है। REST API उस मॉडल के ठीक ऊपर बैठता है जिसे वेब अनुरोधों पर बनाया गया है। बीच में किसी भी संचार परत या अमूर्त मॉडल की आवश्यकता नहीं है। यह URL के लिए बस एक मानक http अनुरोध है और यह एक प्रतिक्रिया देता है। आप इससे ज्यादा सरल नहीं हो सकते।
अनिवार्य रूप से, यह एक डेवलपर को नट और बोल्ट के बारे में अधिक जानकारी देता है कि वेब वास्तव में कैसे काम करता है और जब आप यह समझने के करीब पहुंचते हैं कि अंतर्निहित प्रोटोकॉल कैसे काम करते हैं, तो आप एक अधिक कुशल बेहतर उत्पाद बनाते हैं।