Asp.Net Core WebApi中接入Swagger組件(初級)

来源:https://www.cnblogs.com/CKExp/archive/2018/08/18/9496379.html
-Advertisement-
Play Games

開發WebApi時通常需要為調用我們Api的客戶端提供說明文檔。Swagger便是為此而存在的,能夠提供線上調用、調試的功能和API文檔界面。 環境介紹:Asp.Net Core WebApi + Swagger。 一、加入Swagger組件 Swashbuckle.AspNetCore 中分為3個 ...


開發WebApi時通常需要為調用我們Api的客戶端提供說明文檔。Swagger便是為此而存在的,能夠提供線上調用、調試的功能和API文檔界面。

環境介紹:Asp.Net Core WebApi + Swagger。

 

一、加入Swagger組件

  Swashbuckle.AspNetCore 中分為3個組件。

PackageDescription
Swashbuckle.AspNetCore.Swagger Exposes SwaggerDocument objects as a JSON API. It expects an implementation of ISwaggerProvider to be registered which it queries to retrieve Swagger document(s) before returning as serialized JSON
Swashbuckle.AspNetCore.SwaggerGen Injects an implementation of ISwaggerProvider that can be used by the above component. This particular implementation automatically generates SwaggerDocument(s) from your routes, controllers and models
Swashbuckle.AspNetCore.SwaggerUI

Exposes an embedded version of the swagger-ui. You specify the API endpoints where it can obtain Swagger JSON and it uses them to power interactive docs for your API、

  

  安裝Swashbuckle.AspNetCore,在Nuget中搜索或是包管理器下輸入命令都可,找到這個包,安裝,其中有三個小弟是三個不同的組件,在第一個中都集成了。

 

 二、加入到Asp.Net Core管道中,並註入服務

  加入Swagger中間件

 1     public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 2     {
 3         if (env.IsDevelopment())
 4         {
 5             app.UseDeveloperExceptionPage();
 6         }
 7 
 8         app.UseSwagger();
 9         app.UseSwaggerUI(c =>
10         {
11             c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
12         });
13 
14         app.UseMvc();
15     }

   加入Swagger服務

1     public void ConfigureServices(IServiceCollection services)
2     {
3         services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
4 
5         services.AddSwaggerGen(options =>
6         {
7             options.SwaggerDoc("v1", new Info { Title = "My WebApi Document", Version = "v1" });
8         });
9     }

 

三、啟動WebApi即可,註意訪問路徑

 

 

2018-08-18,望技術有成後能回來看見自己的腳步

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 併發編程的術語 併發 同時做多件事情 多線程 併發的一種形式,它採用多個線程來執行程式。 多線程是併發的一種形式,但不是唯一的形式。 並行處理 把正在執行的大量的任務分割成小塊,分配給多個同時運行的線程。 並行處理是多線程的一種,而多線程是併發的一種。 非同步編程 併發的一種形式,它採用future模 ...
  • 更新內容,v4.2.2版本:1.增加Modbus協議讀取多個寄存器,並且按多種數據類型解析數據。2.Modbus Serial和Modbus TCP兩個驅動合併成一個驅動。3.修改資料庫結構,保存配置信息。4.優化ServerSuperIO核心代碼,應用過程中的潛在問題。 v4.2.2 下載地址:官 ...
  • [TOC] 一、前言 筆者最近在做一個項目,項目中為了提升吞吐量,使用了消息隊列,中間實現了 生產消費模式 ,在生產消費者模式中需要有一個集合,來存儲生產者所生產的物品,筆者使用了最常見的 集合類型。 由於生產者線程有很多個,消費者線程也有很多個,所以不可避免的就產生了線程同步的問題。開始筆者是使用 ...
  • 轉載請註明出處: https://www.cnblogs.com/zhiyong-ITNote/ DI的大概過程抽象成如下:介面對象 <-- 實現對象 <-- 抽象對象 在抽象對象中引入介面,通過實例化介面對象來調用實現對象的方法或是成員變數。那麼就需要實現或者生成抽象對象,一般在已有的IOC框架或 ...
  • 一、面向對象(OOP) 面向過程 面向過程就是分析出解決問題的所需要的步驟,然後每個步驟使用函數實現,使用時將函數依次調用即可 C語言 面向對象 對象:生活中真實存在的事物(電腦、手機、草、樹......) 面向對象是把構成問題的事物分解成各個對象,建立對象的目的不是完成步驟,而是為了描述某個對象在 ...
  • 1. 設置 -> 頁首Html代碼,加入如下代碼,並保存: <script src="http://latex.codecogs.com/latex.js" type="text/javascript"></script> 2. 採用latex線上編輯公式,網站為http://www.codecog ...
  • 在理清 "路由" 的工作流程後,接下來需要考慮的,是MVC框架如何生成Controller以及它的生成時機。 根據以前ASP.NET MVC的經驗,Controller應該是由一個ControllerFactory構建的。查看ASP.NET Core MVC的源碼,果然是有一個DefaultCont ...
  • 0.簡介 如果你所開發的需要走向世界的話,那麼肯定需要針對每一個用戶進行不同的本地化處理,有可能你的客戶在日本,需要使用日語作為顯示文本,也有可能你的客戶在美國,需要使用英語作為顯示文本。如果你還是一樣的寫死錯誤信息,或者描述信息,那麼就無法做到多語言適配。 Abp 框架本身提供了一套多語言機制來幫 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...