在 DTO 生成中更改自动查询 return 类型

Change Autoquery return type in DTO generation

我想从我的自定义 AutoQuery 端点 return 自定义 class,它继承了 QueryResponse<T> 但添加了一些额外的属性。

public class WritingAssignmentBlogLookUpResponse : QueryResponse<BlogDto>, IResponse
{
    public bool Success { get; set; }
    public string Message { get; set; }
    public string DebugMessage { get; set; }
}

但是如果我这样指定请求:

[Route("/assignment/blogs/", "POST")]
public class WritingAssignmentBlogsLookUpRequest : QueryDb<Blog, BlogDto>, IReturn<WritingAssignmentBlogLookUpResponse>
{

}

那么 client.post(req) 的生成 DTO 中指定的 return 类型是 QueryResponse<BlogDto>,它根本不会生成 WritingAssignmentBlogLookUpResponse

我是否只需要从我的打字稿服务中将 return 类型指定为 any,或者有没有办法使类型匹配以便我可以强类型化它?

您不能将 AutoQuery 已经固定在其服务合同定义中的响应更改为 return a QueryResponse<T>.

您可以向 Meta 响应 DTO 词典(因此存在)添加额外信息,否则如果您需要更改服务合同,则需要将其转换为正常(即非-AutoQuery) API 可以使用 Service Gateway 调用现有的 AutoQuery API 来修饰响应。