開發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個組件。
Package | Description |
---|---|
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,望技術有成後能回來看見自己的腳步