¿Es posible tener una API web genérica que admita cualquier modelo en su proyecto?Controlador genérico de API web para admitir cualquier modelo
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>
{
//..
}
¿Sería este un buen enfoque?
Después de todo, ¿estoy repitiendo los métodos CRUD? ¿Puedo usar esta clase base para hacer el trabajo por mí?
¿está bien? harías esto? alguna mejor idea?
Hola, sé que esta es una pregunta antigua, pero ¿podría explicar cómo logró llamar a sus métodos de acción genéricos? No parece que pueda lograr esto solo con las reglas de enrutamiento. Me sería de gran aprecio. – Brett