我是 ServiceStack 的新手,为了了解它的工作原理,我将为 Northwind 数据库开发一个 Web API(使用存储库模式)。
我检查了示例项目ServiceStack.Northwind,只有两个服务(客户和订单)。我想开发一个完整的 API(客户、订单、产品等)。像马特考恩所做的那样。
基本上,所有服务对任何操作都会做同样的事情:
- 接收请求。
- 执行(Repository.Get、Repository.Add、Repository.Update、Repository.Delete)。
- 发回响应。
为此,我考虑制作一个基类来完成几乎所有的工作。首先,我从以下内容开始:
public class BaseService<TRepository, TEntity, TDto> : Service
{
...
}
这个类的问题是我不知道每个操作的请求和响应的类型。所以我想我会把它们作为类型参数传递:
public class BaseService<TRepository, TEntity, TDto, TRequest, TSingleResponse, TCollectionResponse> : Service
{
...
}
我不喜欢这个。我敢肯定它可以在不向类传递n类型参数的情况下完成。
我将如何处理这个基类的开发?
非常感谢您提前。