踩坑不背鍋,.NET Core 試深淺
- 關于Swagger
- 什么是swagger
- 所帶來的幫助
- 使用Swagger
關于Swagger
什么是swagger
使人和計算機在看不到原始碼或者看不到檔案或者不能通過網路流量檢測的情況下能發現和理解各種服務的功能,

Swagger? 的目標是為 REST APIs 定義一個標準的,與語言無關的介面,只需要按照它的規范去定義介面及介面相關的資訊,再通過Swagger衍生出來的一系列專案和工具,就可以做到生成各種格式的介面檔案,生成多種語言的客戶端和服務端的代碼,以及在線介面除錯頁面等,
所帶來的幫助
當專案處于啟動階段
如果有了穩定的后臺框架,直接依據業務需求撰寫服務端被呼叫層的代碼(即controller及其入參出參物件),然后通過Swagger生成相關描述檔案,使用者就可以直接使用了,
如果后臺框架不成熟或在設計中,但是依據業務需求我們可以完成更多的作業而不是等待,先根據資料需求撰寫Swagger描述檔案,通過該描述檔案生成介面檔案,指引專案的相關開發,
當專案處于迭代階段
在專案的持續開發中,后端人員無需關注Swagger描述檔案和介面檔案,有需求變更導致介面變化,可直接編程實作,然后生成新的描述檔案和介面檔案后,給到前端即可,
使用Swagger
首先,先創建一個新的WebAPI專案,并在Nuget中找到對應的包,搜索Swashbuckle會出現很多應用包,可以根據描述選擇自己需要的參考,我在這里使用的是Swashbuckle.AspNetCore.Filters

接下來在Startup中插入如下代碼
注冊服務
services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new OpenApiInfo
{
Title = "HTTP API 目錄",
Version = "v1",
Description = "目錄微服務HTTP API,"
});
});
中間件
//啟用中間件服務生成Swagger作為JSON終結點
app.UseSwagger();
//啟用中間件服務對swagger-ui,指定Swagger JSON終結點
app.UseSwagger().UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
然后,就可以使用了,請求對應地址 https://localhost:44375/swagger/index.html,現在就可以看到示例代碼中的WeatherForecast.cs了,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/210101.html
標籤:python
