一、使用Swagger(接口文档工具)

前言:本次学习都是在VS2022上进行,其它VS版本实现可能存在差异,仅自己学习记录。

Swagger配置方法:

一、【解决方法资源管理器】--【右击项目名称】-【属性】-【生成】-【输出】

 选中文档文件-生成包含API文档的文件,默认地址为bin\Debug\net6.0\xxx.xml,也可以自定义地址,在指定地址新建个空的xml文件即可。

二、修改program.cs代码

using System.Reflection;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(options =>
{
   #region 设置API文档信息
        options.SwaggerDoc("v1", new OpenApiInfo
        {
            // {ApiName} 定义成全局变量,方便修改
            Version = "v1",
            Title = $"接口文档——Net 6",
            Description = $"HTTP API v1",
        });
        options.OrderActionsBy(o => o.RelativePath);
        #endregion

        #region 引用接口注释
        // using System.Reflection;
        var basePath = AppContext.BaseDirectory;
        DirectoryInfo d = new(basePath);
        FileInfo[] files = d.GetFiles("*.xml");
        var XmlCommentsFilePath = files.Select(a => Path.Combine(basePath, a.FullName)).ToList();
        foreach (var item in XmlCommentsFilePath)
        {
            options.IncludeXmlComments(item, true);
        }
        #endregion
});

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseAuthorization();

app.MapControllers();

app.Run();

还有其它相关swagger 可以去官方文档了解 Get started with Swashbuckle and ASP.NET Core | Microsoft Docshttps://aka.ms/aspnetcore/swashbuckle

到此运行项目就得到想要的结果了

也支持多版本文档

新建版本枚举,并修改对应的Program代码

//版本枚举
public enum ApiVersion
{
    v1, v2, v3, v4, v5, v6, v7, v8, v9, v10
}
        #region 设置API文档信息
        typeof(ApiVersion).GetEnumNames().ToList().ForEach(n =>
        {
            options.SwaggerDoc(n.ToString(), new OpenApiInfo
            {
                Version = n.ToString(),
                Title = @$"{ApiName} 接口文档",
                Description = @$"{ApiName} HTTP API {n}"
            });
        });
        options.OrderActionsBy(o => o.RelativePath);
        #endregion






    // Configure the HTTP request pipeline.
    if (app.Environment.IsDevelopment())
    {
        app.UseSwagger();
        app.UseSwaggerUI(c =>
        {
            typeof(ApiVersion).GetEnumNames().ToList().ForEach(n =>
            {
                c.SwaggerEndpoint($"/swagger/{n}/swagger.json", $"{ApiName}({n})");
            });
        });
    }

然后为你的接口添加 

[ApiExplorerSettings(GroupName = "v1")] 

进行分组

 

运行效果如下

 

 

 

 

 下一章:二、读取appsettings.json配置_XiaoGuaiSs的博客-CSDN博客.Net Core WebApi项目中我们将把配置文件统一放在appsettings.json文件中,我们将写一个读取配置文件的公用类。一、新建公共类库Common,用于存放一些公用方法二、如上图:使用Nuget安装Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.JsonMicrosoft.Extensions.Configuration.Binder三、Common类库新建AppSethttps://blog.csdn.net/m0_37894611/article/details/123526554?spm=1001.2014.3001.5501

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值