API डिज़ाइन करना, हम इस सवाल के खिलाफ आए हैं कि क्या किसी PUT पेलोड में अपडेट की जा रही संसाधन की ID होनी चाहिए या नहीं।
वर्तमान में हमारे पास यही है:
PUT /users/123 Payload: {name: "Adrian"}
हमारा रूट कोड यूआरआई से आईडी निकालता है और अपडेट के साथ जारी रहता है।
हमारे एपीआई के पहले उपयोगकर्ता सवाल कर रहे हैं कि हम पेलोड में आईडी की अनुमति क्यों नहीं देते हैं:
PUT /users/123 Payload: {id: 123, name: "Adrian"}
इसका कारण हमने इसकी अनुमति नहीं दी क्योंकि आईडी पेलोड और यूआरआई में डुप्लिकेट है।
इस बारे में कुछ और सोचकर, हम संसाधन को URI को युग्मित कर रहे हैं।
यदि यूआरआई के पास आईडी नहीं है, तो पेलोड को संशोधित करने की आवश्यकता होगी:
PUT /no/id/here Payload: {name: "Adrian"} < What user???
क्या कोई कारण नहीं हैं?
/users
('नया' जोड़ने की आवश्यकता नहीं है)।