मुझे एहसास है कि वेब एपीआई आरईएसटी केंद्रित है, लेकिन मैं अभी भी एक नियंत्रक विधि को कॉन्फ़िगर करना चाहता हूं जो कमांड/प्रतिक्रिया परिदृश्य को संभाल सकता है। अब तक मैं सफल नहीं हुआ हूं ... क्या एक एकल एपीआई एंडपॉइंट द्वारा मान्यता प्राप्त निम्न वर्ग संरचना का कोई तरीका है?वेब एपीआई में पॉलिमॉर्फिज्म: सिंगल एंडपॉइंट संभव है?
[Serializable]
public abstract class Command{
public int CommandId{get; set;}
}
[Serializable]
public class RegisterNewPersonCommand:Command{
public string Name{get; set;}
}
//etc... various Command subclasses. Similar thing for Responses.
//now have a single endpoint to Handle Commands
public class CommandsController : ApiController{
public Response HandleCommand(Command command){
//handle Command based on which subclass it is
//return appropriate Response subclass
}
}
इस प्रकार अब तक यह इस परिदृश्य संभाल कर सकते हैं क्रमबद्धता प्रणाली प्रतीत नहीं होता है, लेकिन मैं किसी को उम्मीद है कि बाहर बहुरूपता वेब एपीआई में काम करने के लिए वहाँ यह :)
भले ही यह काम करता है, यह किसी भी कोड का पुन: उपयोग करने में कैसे मदद करता है? – Aliostad
मैं अपने नियंत्रक में कोड को कम करना चाहता हूं। कमांड के प्रत्येक उप-वर्ग ('हैंडल न्यूयूसर कमांड (न्यू यूसर कॉमांड) {}, हैंडल यूज़र पासवर्ड वर्च कॉमांड (यूजरपासवर्ड चेंज कॉमांड) {}', आदि) के लिए बॉयलरप्लेट विधि के बजाय, एकल 'हैंडल कॉमांड' विधि प्रतिमान को पार करने के लिए प्रतिबिंब और आईओसी का उपयोग करने के लिए जिम्मेदार होगी उचित डोमेन तर्क। – smalltowndev