簡體   English   中英

如何在 ServiceStack 中啟用 swagger?

[英]How to enable swagger in ServiceStack?

我發現介紹幻燈片中提到了 swagger。 但別處沒有。 事情還沒有完成嗎?

編輯:顯然它在待辦事項列表中。

有沒有什么好的方法可以自動記錄 RestAPI?

要為您的服務堆棧啟用 Swagger,請遵循 Service Stack wiki 上的Swagger API頁面。

詳細步驟:

  1. 在包管理器控制台中運行Install-Package ServiceStack.Api.Swagger
  2. 在你的 AppHost.cs 中啟用 Swagger 插件:

     using ServiceStack.Api.Swagger; public override void Configure(Container container) { ... Plugins.Add(new SwaggerFeature()); ... }
  3. 使用http://localhost:port/swagger-ui/index.html訪問 Swagger UI

根據Trello 的說法,這是一個“做”,但后來又被移回了“待辦”; 並且 github 存儲庫中有一個 Swagger.Api 模塊,因此假設它只是部分完成。

編輯

正如已經指出的那樣(但為了完整起見,因為這是公認的答案),SwaggerUI 已准備好用於服務堆棧(而且天哪,它真棒)。 Github wiki已經在最近幾天填寫完畢,並且非常容易啟動和運行。

現在看起來已經完成並准備好了,查看 v3.9.35 的發行說明@https://github.com/ServiceStack/ServiceStack/wiki/Release-Notes

嗯……對不起,如果我誤解了這一點:

有沒有什么好的方法可以自動記錄 RestAPI?

...但是當我用以下屬性裝飾我的 DTO 或服務時:

[Route("/hello","GET")]
[Route("/hello/{Name}","POST,GET")]
public class Hello : IReturn<HelloResponse>
{
    public string Name { get; set; }
}

servicestack 生成的默認元數據頁面記錄了用法:

在此處輸入圖片說明

這不是您要找的嗎?

對於 .Net Core ServiceStack,我為 Swagger UI 安裝了 ServiceStack.Api.Swagger.Core nuget。

但這給了我'500:未定義的錯誤'。

然后我刪除了 ServiceStack.Api.Swagger.Core 並安裝了 ServiceStack.Api.Swagger。

這是完美的作品。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM