. Net Core 开发 二、swagger5 中文注释

操作界面为了开发方便,需要显示中文注释

实现效果如下

在这里插入图片描述

接口的汉字显示

添加注释

在接口处按下三个 “/”
在这里插入图片描述

配置项目

在项目处右键-》属性-》生成
在这里插入图片描述
在【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
            
        }
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值