प्राप्त करने के लिए आरईएसटी सर्वोत्तम अभ्यास REST - complex applications पर आलेख पढ़ता है और यह मेरे कुछ प्रश्नों का उत्तर देता है, लेकिन सभी नहीं।एक सबसेट सूची
मैं अपना पहला आरईएसटी एप्लीकेशन डिजाइन कर रहा हूं और अनुरोधों को प्राप्त करने के लिए "सबसेट" सूचियों को वापस करने की आवश्यकता है। निम्नलिखित में से कौन सा "रीस्टफुल" है?
/patients;listType=appointments;date=2010-02-22;user_id=1234
या
/patients/appointments-list;date=2010-02-22;user_id=1234
या यहाँ तक कि
/appointments/2010-02-22/patients;user_id=1234
वहाँ एक दर्जन से अलग सूचियों कि मैं वापस जाने के लिए की जरूरत के बारे में हो जाएगा। इनमें से कुछ में, कई फ़िल्टरिंग पैरामीटर होंगे और मैं अपने सर्वर कोड में बड़े 'if' कथन नहीं करना चाहता हूं, जो कि पैरामीटर मौजूद हैं, के आधार पर सबसेट का चयन करने के लिए। उदाहरण के लिए, मुझे एक विशिष्ट डॉक्टर के लिए सभी रोगियों की आवश्यकता हो सकती है जहां कवर डॉक्टर एक और प्राथमिक चिकित्सक अभी तक दूसरा है। मैं
/patients;rounds=true;specific_id=xxxx;covering_id=yyyy;primary_id=zzzz
साथ चुन सकते हैं, लेकिन यह तर्क शाखाओं में सही सूची है, जहां एक विशिष्ट सबसेट (राउंड-सूची) के लिए पूछ रहा है कि एक ही बात को प्राप्त होगा प्राप्त करने के लिए जटिल की आवश्यकता होगी।
ध्यान दें कि मुझे क्वेरी पैरामीटर के बजाय मैट्रिक्स पैरामीटर का उपयोग करने की आवश्यकता है क्योंकि मुझे URL के कई स्तरों पर फ़िल्टरिंग करने की आवश्यकता है। मैं जिस फ्रेमवर्क का उपयोग कर रहा हूं (RestEasy), पूरी तरह से मैट्रिक्स पैरामीटर का समर्थन करता है।
मुझे लगता है कि उनमें से सभी को पुनः स्थापित किया जा सकता है, लेकिन यूआरएल रीस्टिश होने का केवल एक हिस्सा है। मेरी पसंद/अपॉइंटमेंट/मरीज़/user_id = 1234/date = 2010-02-22 के साथ जाएगी, जो आपको उस तारीख को छोड़ने और उस उपयोगकर्ता आईडी के लिए सभी रोगी नियुक्तियों को प्राप्त करने की अनुमति देगी। – kenny