プロジェクト内の任意のモデルをサポートする汎用WebAPIを使用することは可能ですか?
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メソッドを繰り返すだけですか?この基本クラスを使用して作業を行うことはできますか?
これでいい?あなたはこれをしますか?より良いアイデアはありますか?