我们正在尝试从Swagger转换为使用SSV4的本机元数据功能。但是这样做,api一代就出现了问题:
问题似乎出现在内部SS操作BaseMetadataHandler .GetMetadataTypesForOperation(...)中,它似乎没有检测到List中的复杂类型(并将它们与操作相关联)。例如,此请求/响应dto将不会显示" ComplexType"的文档:
[Route("/example", "GET")]
[DataContract]
public class Example : IReturn<Example Response>
{
[ApiMember(IsRequired = true)]
[DataMember(Order = 1, IsRequired = true)]
public Guid ExampleGuid { get; set; }
}
[DataContract]
public class ExampleResponse : IHasResponseStatus
{
[DataMember(Order = 1, IsRequired = false)]
public List<ComplexType> Results{ get; set; }
[DataMember(Order = 2, IsRequired = false)]
public ResponseStatus ResponseStatus { get; set; }
}
如果&#34; ComplexType&#34;是单数(不在列表中),在元数据页面中正确记录类型。我是否错误地配置了这些DTO?或者也许是元数据引擎?
提前致谢...乔丹
答案 0 :(得分:0)
我已经扩展了ServiceStack的元数据页面,以在通用和数组集合in this commit中包含引用的类型。
此更改可从ServiceStack v4.0.32 + 获得,现在为available on MyGet。