netcore3.1下用Swagger搭建webapi(1)

安装

先下载.net core 3.1的SDK(开发.net core项目时会用到)和Runtime(用来运行.net core的应用程序)

地址:https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral

1 创建ASP.NET Core web项目
2 引入Swashbuckle.AspNetCore程序包

执行以下命令

Install-Package Swashbuckle.AspNetCore -Version 5.0.0-rc4

配置中间件

添加 并配置Swagger中间件

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers();
    //注册swagger
    services.AddSwaggerGen(c =>
    {
        c.SwaggerDoc("v1.0", new OpenApiInfo
        {
            Title = "1", Version = "1.0"
        });
        var xmlFile = $ "{Assembly.GetExecutingAssembly().GetName().Name}.xml";
        var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
        c.IncludeXmlComments(xmlPath);
    });
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if(env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    //Swagger规范和Swagger UI
    app.UseSwagger();
    app.UseSwaggerUI(c =>
    {
        c.SwaggerEndpoint("/swagger/v1.0/swagger.json", "1");
        c.RoutePrefix = string.Empty;
    });
    app.UseHttpsRedirection();
    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
}
地址栏改一下

index.html

 如果对接口做了xml注释,要在Startup添加如下代码,才可以显示出来
先引入NuGet包:Microsoft.Extensions.PlatformAbstractions
然后右键属性
 再在Startup中添加下面的代码

```c#
 var basePath = PlatformServices.Default.Application.ApplicationBasePath;
 //Core.Admin.webapi.xml是我的项目生成XML文档的后缀名,具体的以你项目为主
 var xmlPath = Path.Combine(basePath, "Core.Admin.webapi.xml");
 c.IncludeXmlComments(xmlPath);

运行项目,注释已经出来了
在launchSettings.json中更改一下launchUrl这个环境变量 index.html

posted @ 2020-03-20 15:26  少年。  阅读(427)  评论(0编辑  收藏  举报