首先添加nuget: Swashbuckle.AspNetCore
services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Version = "v1", Title = "IdentityServer4 & WebApi" }); var basePath = PlatformServices.Default.Application.ApplicationBasePath; var xmlPath = Path.Combine(basePath, "LYM.ApiServices.xml"); c.IncludeXmlComments(xmlPath); } );
app.UseMvc(); app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "IdentityServer4 & WebApi"); });
没有问题,值得注意的是webapi写法与mvc有区别
自定义名称需要这样写
/// <summary> /// ClientTest测试 /// </summary> /// <param name="value"></param> [HttpPost("ClientTest")] public void ClientTest([FromBody]string value) { }
名称已经放到上面去了,而在传统的写法[RoutePrefix("api/Client")] 被取代了,
如果需要Identityserver4授权需要添加下面的处理 与IdentityServer3一样
c.AddSecurityDefinition("oauth2", new OAuth2Scheme { Type = "oauth2", Flow = "implicit", AuthorizationUrl = "http://Identityserver4授权地址", Scopes = new Dictionary<string, string> { { "cloudservices", "cloudservices" }, { "clientservices", "clientservices" } } }); c.OperationFilter<SecurityRequirementsOperationFilter>();