Возможно ли иметь общий веб-api, который будет поддерживать любую модель в вашем проекте?
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>
{
//..
}
Будет ли это хороший подход?
В конце концов, я просто повторяю методы CRUD? Могу ли я использовать этот базовый класс для выполнения моей работы?
это нормально? вы бы это сделали? любые лучшие идеи?