2
我们正试图从Swagger转换为使用SSV4的本机元数据功能。但是在这样做的时候,api代就有问题了:ServiceStack V4 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; }
}
如果“的ComplexType”是单数(不是在列表),该类型在元数据页正确记录。我是否错误地配置这些DTO?或者可能是元数据引擎?
在此先感谢...约旦
对我们的实施进行了测试,并按预期工作。非常感谢...让我的一天! – jglassco 2014-09-28 02:07:31
嗨@mythz - 如果可能的话,我想重新打开这个问题......就像在通用数组的第一层工作正常之前所证实的那样......但是如果存在多层数组,则元数据页面不会显示该课程的信息。 在我上面的例子中,考虑类型“ComplexType”包含一个成员,其中有“ComplexType2”的另一个通用列表。在这种情况下,ComplexType2将不会显示在元数据页面中。 你做的检查几乎需要递归或类似的花式吗?再次感谢 – jglassco 2014-12-05 21:43:24
@jglassco请在https://github.com/ServiceStack/Issues上打开一个新的问题,并包含repro的问题模型。 – mythz 2014-12-05 21:50:28