.Net WebApi 添加Swagger

本文详细介绍了如何在WebApi项目中使用Swagger生成API文档,包括安装Swashbuckle和swagger.Net.UI包,设置XML文档输出,解决常见错误,以及如何添加自定义header参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。
前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架。

安装

  1. 首先,创建WebApi类型的项目 TestSwagger

        

        2. 安装Swashbuckle 包和swagger.Net.UI包

      

  3. 安装完成之后,可以看到这些类与文件都是安装完成时swagger添加的

      

 

 

设置

  1. 设置输出xml文档文件
  1. 右键项目属性—>生成—>勾选XML文档文件

       

运行

发生上述错误,请在,SwaggerNet.cs中,注释类上面的两行

 

 结果又报以下错误:

    

这时需要在SwaggerConfig.cs 文件中 GlobalConfiguration.Configuration.EnableSwagger  添加c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());

需要添加注释则加:   c.IncludeXmlComments(string.Format("{0}/bin/TestService.XML", System.AppDomain.CurrentDomain.BaseDirectory));

需要在Swagger页面添加自定义header:

需要在SwaggerConfig.cs 文件中 c.OperationFilter<AddAuthorizationHeaderParameterOperationFilter>();

增加新类:

namespace TestService.App_Start
{
    public class AddAuthorizationHeaderParameterOperationFilter : IOperationFilter
    {
        public void Apply(Operation operation, SchemaRegistry schemaRegistry, ApiDescription apiDescription)
        {

            if (operation.parameters == null)
            {
                operation.parameters = new List<Parameter>();
            }
            operation.parameters.Add(new Parameter
                {
                    name = "UserId",
                    @in = "header",
                    description = "User short name",
                    required = true,
                    type = "string"
                });

            operation.parameters.Add(new Parameter
            {
                name = "ClientId",
                @in = "header",
                description = "Client generated unique number",
                required = true,
                type = "string"
            });
        }
    }
}

  显示效果

 

转载于:https://www.cnblogs.com/suidouya/p/9602492.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值