मैं एक इवेंट मैनेजमेंट सिस्टम बना रहा हूं। स्कीमा नीचे वर्णित है। एपीआई इन संबंधों को समझता है और अनुरोध परिणामों में संबंधित संसाधनों के लिंक देता है। उदाहरण के लिए,REST - संबंधों का विस्तार
GET /Events/1
"links": {
"Venue": "/Venues/1",
"Tickets": "/Tickets?event_id=1",
"Teams": "/Teams?event_id=1",
"Registrations": "/Registrations?event_id=1"
}
मैं क्या बाकी के बारे में पढ़ा है और HATEOAS पता चलता है यह "सही" जिस तरह से यह करने के लिए है के अधिकांश लेकिन यह बहुत अक्षम है। उदाहरण के लिए, यदि मैं किसी ईवेंट में भाग लेने वाले उपयोगकर्ताओं और टीमों की एक रिपोर्ट जेनरेट करना चाहता हूं तो इसे कई अनुरोधों की आवश्यकता है। डीबी के खिलाफ एक भीड़ क्वेरी चलाने के बजाए यह कई चुनिंदा प्रश्नों को चलाने के समान है। तो मेरा सवाल यह है कि, क्या मुझे संसाधन अनुरोध के भीतर संबंधों का विस्तार करना चाहिए और संबंधित संसाधनों को एम्बेड करना चाहिए? यह एक समस्या उत्पन्न करता है बी/सी उपर्युक्त अनुरोध डेटा के बहुत सारे वापस लौटाएगा। उत्तर संबंध संबंधों के साथ रहना और उचित कैशिंग सेटअप करना हो सकता है। भले ही, मैं आपकी राय चाहूंगा।
Schema
events
hasMany registrations
hasMany tickets
hasMany teams
team
belongsTo event
ticket
belongsTo event
hasMany registrations
user
hasMany registrations
registrations
belongsTo event
belongsTo ticket
belongsTo user
belongsTo team
धन्यवाद। मैं आपको नहीं बता सकता कि मैंने ऑनलाइन कितने गाइड/ट्यूटोरियल पढ़े हैं और इस शब्द या अवधारणा का सामना कभी नहीं किया। – newb1123
इस शब्द के बारे में कुछ भी नहीं मिला ...: एस बीटीडब्ल्यू। टिकट, टीम, पंजीकरण तारों की बजाय एक एकल यूआरएल संपत्ति के साथ वस्तुओं होना चाहिए। क्लाइंट के साथ उन्हें संसाधित करना आसान है ... – inf3rno
मुझे इसे रीस्टफुल कुकबुक से मिला। यह मूल सामग्री बातचीत या हजारों प्रतिनिधियों के उपयोग के बिना मूल रूप से "प्रतिनिधित्व" को ट्यून करने का एक और तरीका है। यह आपको आवश्यक प्रतिनिधित्व के लिए अनिवार्य रूप से एक विनिर्देश परिभाषित करने की अनुमति देता है। http://www.amazon.co.uk/RESTful-Services-Cookbook-Subbu-Allamaraju/dp/0596801688/ref=sr_1_1?ie=UTF8&qid=1378368152&sr=8-1&keywords=rest+cookbook – James