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