मैं .Net MVC4 वेब API का उपयोग कर रहा हूं (उम्मीद है) एक Restful एपीआई को लागू करता है। मुझे सिस्टम में कुछ मापदंडों को पारित करने और कुछ कार्रवाई करने की आवश्यकता है, फिर परिणामों के रूप में वस्तुओं की सूची लौटाएं। विशेष रूप से मैं दो तिथियों में गुजर रहा हूं और उन दोनों के बीच रिकॉर्ड वापस कर रहा हूं। मैं रिकॉर्ड किए गए ट्रैक का भी पता लगा रहा हूं ताकि बाद के कॉल सिस्टम में दोबारा न मिलें।
मैंने कुछ दृष्टिकोणों पर विचार किया है:
Params को एक सिंगल JSON स्ट्रिंग में सीरियल करना और API में अलग करना। http://forums.asp.net/t/1807316.aspx/1
क्वेरी स्ट्रिंग में परमेस पास करें।
एक आराम करने वाले एपीआई के लिए कई क्वेरी मापदंडों को पारित करने का सबसे अच्छा तरीका क्या है?मार्ग में परिमों को परिभाषित करना: एपी / कंट्रोलर / डेट 1 / डेट 2
एक POST का उपयोग करना जो स्वाभाविक रूप से मुझे किसी ऑब्जेक्ट को परम के साथ पास करने देता है
वेब API (वर्तमान में) के बाद से ODATA पर शोध करना इसका समर्थन करता है। मैंने इसके साथ बहुत कुछ नहीं किया है, इसलिए मैं इससे बहुत परिचित नहीं हूं।
ऐसा लगता है कि डेटा को खींचे जाने पर उचित REST प्रथाएं इंगित करती हैं, आपको एक GET का उपयोग करना चाहिए। हालांकि, GET भी अशक्त होना चाहिए (कोई साइड-इफेक्ट्स पैदा नहीं करता है), और मुझे आश्चर्य है कि अगर मेरा विशिष्ट कार्यान्वयन उल्लंघन करता है कि चूंकि मैं एपीआई सिस्टम में रिकॉर्ड चिह्नित करता हूं, इसलिए मैं साइड-इफेक्ट्स पैदा कर रहा हूं।
इसने मुझे चर मापदंडों के समर्थन के सवाल पर भी पहुंचा दिया। यदि इनपुट पैरामीटर सूची बदलती है, तो ऐसा होने पर चॉइस 3 के लिए अपने मार्ग को फिर से परिभाषित करना थकाऊ होगा। और क्या हो सकता है अगर मापदंडों को रन-टाइम पर परिभाषित किया गया हो ...
किसी भी मामले में, मेरे विशिष्ट कार्यान्वयन के लिए, कौन सा विकल्प (यदि कोई हो) सबसे अच्छा लगता है?