हम अपने ग्राहक की खाता जानकारी खोलने के लिए एक RESTful API डिज़ाइन कर रहे हैं। हमारे पास ऐसे निरूपण हैं जिनमें वर्तमान संसाधन से संबंधित अन्य संसाधनों के संदर्भ हैं। यह कई सर्वोत्तम प्रथाओं से है जिन्हें हम सार्वजनिक एपीआई के साथ-साथ प्रकाशित सामग्रियों में खोजने में सक्षम थे। अभ्यावेदन XML या JSON हो सकते हैं।
उदाहरण के लिए एक खाता संसाधन के लिए हमारे पास खाते के पते के संदर्भ होंगे और पृष्ठबद्ध सूची संसाधन के लिए, हमारे पास पहले, अगले और पिछले पृष्ठों के संदर्भ होंगे।
एपीआई को पहली बार <link title="" rel="" href="" />
एक ओ'रिली किताब में वर्णित अर्थ लिंक का उपयोग करके और नेटफ्लिक्स और गूगल द्वारा एपीआई में उपयोग किया गया था। जब ऑटोमेशन सूट लिखने के लिए हमारे क्यूए इंजीनियरों के लिए समय आया, तो उन्हें लिंक को हटाने में समस्या थी। हमने अब सरल uri स्ट्रिंग तत्वों का सुझाव दिया है जिनका उपयोग Facebook और Twitter द्वारा API में किया गया है।
हमारे क्यूए enginners के बाद से उनके deserialization मुद्दों को हल किया है, लेकिन मैं अभी भी अर्थ लिंक के साथ वर्तमान एपीआई युक्ति के उपयोग में आसानी की चिंता है। हमारे API को मुख्य रूप से हमारे ग्राहकों और कुछ तृतीय-पक्ष भागीदारी द्वारा उपभोग किया जाएगा और हम REST गए हैं क्योंकि पिछले XML-RPC API हमारे उपभोक्ताओं के लिए बहुत मुश्किल था।
tl; डॉ;
सवाल:
क्या किसी ने भी जिसने अर्थ लिंक को उपभोक्ता समस्याओं के अनुभवी कठिनाई के साथ जोड़ा है?
अद्यतन (6/21): मैंने सिमेंटिक लिंक के साथ रहने का फैसला किया है और आशा है कि भ्रम की स्थिति थी। एपीआई को कुछ उपभोक्ताओं के साथ रहने के बाद हम अपने अनुभवों के साथ सवाल का जवाब देने के लिए याद रखने की कोशिश करेंगे।
संपादित करें: उदाहरण जोड़ें
शब्दार्थ खाता JSON:
{
"username": "paul",
"links": [
{
"title": "addresses",
"rel": "related",
"href": "http://example.com/account/paul/addresses"
},
{
"title": "history",
"rel": "related",
"href": "http://example.com/account/paul/history"
}
]
}
शब्दार्थ खाता XML:
<account>
<username>paul</username>
<link title="addresses" rel="related" href="http://example.com/account/paul/addresses" />
<link title="history" rel="related" href="http://example.com/account/paul/history" />
</account>
सरल खाता JSON:
{
"username": "paul",
"addresses": "http://example.com/account/paul/addresses"
"history": "http://example.com/account/paul/history"
}
सरल खाता XML:
<account>
<username>paul</username>
<addresses>http://example.com/account/paul/addresses</addresses>
<history>http://example.com/account/paul/history</history>
</account>