开发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,望技术有成后能回来看见自己的脚步