का समर्थन करने के लिए जेनेरिक वेब एपीआई नियंत्रक क्या एक सामान्य वेब एपीआई होना संभव है जो आपकी परियोजना में किसी भी मॉडल का समर्थन करेगा?किसी भी मॉडल
class BaseApiController<T> :ApiController
{
private IRepository<T> _repository;
// inject repository
public virtual IEnumerable<T> GetAll()
{
return _repository.GetAll();
}
public virtual T Get(int id)
{
return _repositry.Get(id);
}
public virtual void Post(T item)
{
_repository.Save(item);
}
// etc...
}
class FooApiController : BaseApiController<Foo>
{
//..
}
class BarApiController : BaseApiController<Bar>
{
//..
}
क्या यह एक अच्छा दृष्टिकोण होगा?
आखिरकार, मैं केवल सीआरयूडी विधियों को दोहरा रहा हूं? क्या मैं इस आधार वर्ग का उपयोग मेरे लिए काम करने के लिए कर सकता हूं?
क्या यह ठीक है? क्या आप यह करेंगे कोई बेहतर विचार?
हाय, मुझे पता है कि यह एक पुराना सवाल है, लेकिन क्या आप समझा सकते हैं कि आप अपनी जेनेरिक एक्शन विधियों को कैसे कॉल करते हैं? ऐसा लगता है कि आप इसे केवल रूटिंग नियमों के साथ पूरा कर सकते हैं। मुझे इसकी तारीफ़ करने में गर्व है। – Brett