我正在使用 ServiceStack 开发一个(希望如此)RESTful API。
我注意到我的大多数服务看起来都一样,例如,GET 方法看起来像这样:
        try
        {
            Validate();
            GetData(); 
            return Response();
        }
        catch (Exception)
        {
            //TODO: Log the exception
            throw; //rethrow
        }
假设我有 20 个资源,20 个请求 DTO,所以我或多或少地获得了大约 20 个相同模板的服务......
我试图创建一个通用或抽象的服务,以便我可以创建只实现相关行为的继承服务,但我被卡住了,因为请求 DTO 不是序列化所需的。
有什么办法吗?
编辑:
我正在尝试做的一个例子:
public abstract class MyService<TResponse,TRequest> : Service
{
    protected abstract TResponse InnerGet();
    protected abstract void InnerDelete();
    public TResponse Get(TRequest request)
    {
        //General Code Here.
        TResponse response = InnerGet();
        //General Code Here.
        return response;
    }
    public void Delete(TRequest request)
    {
        //General Code Here.
        InnerDelete();
        //General Code Here.
    }
}
public class AccountService : MyService<Accounts, Account>
{
    protected override Accounts InnerGet()
    {
        throw new NotImplementedException();//Get the data from BL
    }
    protected override void InnerDelete()
    {
        throw new NotImplementedException();
    }
}