操作界面为了开发方便,需要显示中文注释
实现效果如下
接口的汉字显示
添加注释
在接口处按下三个 “/”
配置项目
在项目处右键-》属性-》生成
在【XML文档文件】处打上勾
修改创建文件【Startup.cs】
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
#region Swagger
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo
{
Version = "v1.0.0",
Title = "WebAPI",
Description = "框架集合",
});
//启用中文注释功能
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
var xmlPath = Path.Combine(basePath, "AppServer.xml");
c.IncludeXmlComments(xmlPath);
});
#endregion
}
需要引用
using Microsoft.Extensions.PlatformAbstractions;
using System.IO;
控制器的汉字显示
汉字的控制器需要新增加一个类,通过Swagger 调用
创建文件夹与类
using Swashbuckle.AspNetCore.Swagger;
using Swashbuckle.AspNetCore.SwaggerGen;
using Swashbuckle.AspNetCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.OpenApi.Models;
namespace AppServer.SwaggerHelp
{
/// <summary>
/// Swagger注释帮助类
/// </summary>
public class SwaggerDocTag : IDocumentFilter
{
/// <summary>
/// 添加附加注释
/// </summary>
/// <param name="swaggerDoc"></param>
/// <param name="context"></param>
public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
{
swaggerDoc.Tags = new List<OpenApiTag>
{
//添加对应的控制器描述 这个是我好不容易在issues里面翻到的
new OpenApiTag { Name = "WeatherForecast", Description = "控制器1" },
new OpenApiTag { Name = "WeatherForecast2", Description = "控制器2" },
};
}
}
}
创建完成后,修改启用
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
#region Swagger
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo
{
Version = "v1.0.0",
Title = "AppServer服务框架",
Description = ".Net Core Api开发",
});
//启用中文注释功能
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
var xmlPath = Path.Combine(basePath, "AppServer.xml");
c.IncludeXmlComments(xmlPath);
//添加对控制器的标签
c.DocumentFilter<SwaggerDocTag>();
});
#endregion
}