我有一个名为IDataService的服务,它有像IUserDataService,IOrderDataService这样的实现,用于从Api控制器获取数据。
所有这些都是通用的,所以如果我有一个类似下面的控制器,
public class DataController
{
private readonly IDataService _dataSvc;
public DataController(IDataService dataSvc)
{
_dataSvc = dataSvc;
}
public void GetData(int limit = 1000)
{
return _dataSvc.GetData(limit);
}
}
public interface IDataService
{
IEnumerable<T> GetData<T>(int limit = 1000);
}
public class UserDataService : IDataService
{
IEnumerable<User> GetData<User>(int limit = 1000)
{
return Set<User>().Take(limit); //this is just a placeholder
}
}
public class ProjectDataService : IDataService
{
IEnumerable<Project> GetData<Project>(int limit = 1000)
{
return Set<Project>().Take(limit); //this is just a placeholder
}
}
我正在阅读有关HttpRequest的用法,以便如果我能够从头部获取值并使用它以某种方式解析服务,那么所有流程都将是纯动态的。
如果在这种情况下可以选择任何选项,请告诉我。