首先添加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>();
一步一步学习IdentityServer4 (4) ?.NETCore2.0 Swagger
原文地址:http://www.cnblogs.com/liyouming/p/8075117.html