如何遍历使用路由设置的所有请求/响应 DTO?
例如这样的路线:
[Route("/api/something", "GET")]
public class SomethingGetRequest : IReturn<List<Something>>
{
public int SomethingId { get; set; }
}
并像这样响应 DTO:
public class Something
{
public string A { get; set; }
public int B { get; set; }
}
我想要一个服务操作,我可以遍历所有设置路由,并检索:
- 请求网址
- 班级名称
- 请求属性
- 响应 DTO 属性
是否有一些内置的Servicstack可以做到这一点?
最后我想用它来自动生成 ExtJS 存储/模型。我也对更好/替代方法感兴趣。
编辑:
这是我想出的解决方案:gist
在/extjs/javascript
服务返回 extjs store/models 的/extjs/metadata
路由上,服务返回一个带有 store/model 文件夹的 zip 文件,您可以将其放入新创建的 Sencha Architect 项目中。这些模板基于 Architect v. 3.0.1.1343 生成的内容。
这假设一条装饰如下的路线:
[Route("/api/something", "GET", Summary="route description")]
public class SomethingGetRequest : IReturn<List<Something>>
{
[ApiMember(Name = "SomethingId", ParameterType = "query", IsRequired = true, DataType = "int")]
public string SomethingId { get; set; }
}
当前实现仅适用于请求/响应 DTO 中的简单属性。有改进的余地...