2017-06-26 90 views
1

我已將項目升級爲使用ServiceStack的最新版本,並使用OpenApiFeature而不是SwaggerFeature。ServiceStack OpenAPI路由/標記說明

我在RouteSummary中指定的描述用於在Swagger中顯示,但在OpenApi下它們似乎不受尊重。有沒有新的地方,或者我在配置中丟失了什麼?

Plugins.Add(new OpenApiFeature 
{ 
    RouteSummary = { 
     { "/clubs", "Customer club lookups" }, 
     { "/customers", "Customer demographics, receipts and transactions" }, 
     { "/dates", "Fiscal date breakdowns" } 
    } 
}); 

enter image description here

回答

2

SwaggerFeature遵循揚鞭1.2規範,其分離從規範的API列表,其中API Resource Object允許你指定一個描述的路由的集合。然而,Open API v2.0規範中的組合開放API規範刪除了此功能。

這已替換爲Open API Tags,我已經添加了明確的支持this commit其中您可以操作要使用相同的標籤一起顯示,如:

[Tag("clubs")] 
[Route("/clubs", "GET")] 
public class GetClubs {} 

[Tag("clubs")] 
[Route("/clubs/{Id}", "PUT")] 
public class UpdateClub 
{ 
    public int Id { get; set; } 
} 

然後,您可以指定一個描述每個標籤註冊OpenApiFeature,例如,當:

Plugins.Add(new OpenApiFeature 
{ 
    Tags = 
    { 
     new OpenApiTag 
     { 
      Name = "clubs", 
      Description = "Customer club lookups", 
     }, 
     new OpenApiTag 
     { 
      Name = "customers", 
      Description = "Customer demographics, receipts and transactions", 
     }, 
     new OpenApiTag 
     { 
      Name = "dates", 
      Description = "Fiscal date breakdowns", 
     }, 
    } 
}); 

Tags收集可從v4.5.13現在是available on MyGet

+1

感謝您爲此加快支持。你真棒! – Connor