मैं यूआरआई में अनुरोधित प्रतिनिधित्व को एम्बेड करने के मिलान के सुझाव से आंशिक रूप से असहमत हूं।
तो किसी भी तरह संभव हो, यूआरआई केवल संबोधित करते हुए संसाधनों के लिए इस्तेमाल किया जा चाहिए और नहीं सुरंग HTTP विधियों/क्रियाओं के लिए। अंत में, विशिष्ट व्यवसाय कार्रवाई (संपादित करें, ताला, आदि) यदि बनाने यूआरआई में एम्बेड किया जा सकता है (बाद का) या अद्यतन (डाल) अकेले उद्देश्य पूरा नहीं है:
POST http://shonzilla.com/orders/08/165;edit
एक विशेष अनुरोध के मामले में यूआरआई में प्रतिनिधित्व आपको अपने यूआरआई डिज़ाइन को अंततः इसे कमजोर बनाने, एक ही स्थान (यानी यूआरआई) में दो अलग-अलग आरईएसटी अवधारणाओं को मिलाकर और सर्वर-साइड पर सामान्य रूप से अनुरोधों को संसाधित करने में कठिन बनाना होगा। मिलान क्या सुझाव दे रहा है और कई भी ऐसा ही कर रहे हैं। फ़्लिकर, बिल्कुल यही है।
इसके बजाय, एक अधिक RESTful दृष्टिकोण Accept
HTTP हेडर जो सामग्री बातचीत के लिए प्रयोग किया जाता है जहां क्लाइंट सर्वर जो सामग्री प्रकार इसे संभाल कर सकते हैं/प्रक्रिया और सर्वर की कोशिश करता करने के लिए कहता उपयोग करके वरीय प्रतिनिधित्व एन्कोड करने के लिए एक अलग जगह का उपयोग कर होगा ग्राहक के अनुरोध को पूरा करने के लिए। यह दृष्टिकोण HTTP 1.1 standard का एक हिस्सा है, सॉफ्टवेयर अनुपालन और वेब ब्राउज़र द्वारा समर्थित है।
GET /orders/08/165.xml HTTP/1.1
or
GET /orders/08/165&format=xml HTTP/1.1
इस के लिए :
इसकी तुलना
GET /orders/08/165 HTTP/1.1
Accept: application/xml
एक वेब ब्राउज़र आप XMLHttpRequest
वस्तु की setRequestHeader
विधि का उपयोग कर किसी भी सामग्री प्रकार का अनुरोध कर सकते से। उदाहरण के लिए:
function getOrder(year, yearlyOrderId, contentType) {
var client = new XMLHttpRequest();
client.open("GET", "/order/" + year + "/" + yearlyOrderId);
client.setRequestHeader("Accept", contentType);
client.send(orderDetails);
}
यह निष्कर्ष निकालने के लिए: पता है, यानी एक संसाधन के URI अपने प्रतिनिधित्व के स्वतंत्र होना चाहिए और XMLHttpRequest.setRequestHeader
विधि आप Accept
HTTP शीर्ष लेख का उपयोग कर किसी भी प्रतिनिधित्व अनुरोध करने के लिए अनुमति देता है।
चीयर्स!
Shonzilla
मैं आपको सुनता हूं। कुछ हेडर हार्डकोड करना और आपके ब्राउज़र टैब में बस अपने कोड का परीक्षण करने के लिए यूआरएल पर जाएं। मैं क्रोम पोस्टमैन ऐप जैसे पूर्ण-अलग इंटरफ़ेस नहीं चाहता हूं। –
यह एक्सटेंशन मेरे लिए काफी अच्छी तरह से काम करता है: https://chrome.google.com/webstore/detail/modify-headers-for-google/innpjfdalfhpcoinfnehdnbkglpmogdi?hl=hi-US –