web api集成 swagger

本文介绍了Swagger的基本认识,包括其作为RESTful Web服务框架的作用,以及如何在Web API项目中集成Swagger。详细讲解了Swagger的安装、配置、XML文档生成,以及SwaggerUI的使用。还提到了Swagger的注释配置,强调了返回模型的注解方式,并提醒了关于模型定义位置的注意事项。最后,提及了一些高级配置,如中文汉化和权限控制等。

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

1:认识Swagger

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。

 作用:

    1. 接口的文档在线自动生成。

    2. 功能测试。

2.集成Swagger

Swagger支持web api,不支持mvc,集成swagger需要安装Swashbuckle, Swagger.net, 以及Swagger.net.UI. 

3.Swagger的配置

安装完上面的安装包后,在项目的属性=》生成里面,设置xml文档

然后在Swagger.net 里面配置文档的位置,他会自动读取xml,然后显示,代码如下:

            var config = GlobalConfiguration.Configuration;

            config.Filters.Add(new SwaggerActionFilter());
            
            try
            {
                config.Services.Replace(typeof(IDocumentationProvider),
                    new XmlCommentDocumentationProvider(HttpContext.Current.Server.MapPath("~/bin/Swagger.XML")));
            }
            catch (FileNotFoundException)
            {
                throw new Exception("Please enable \"XML documentation file\" in project properties with default (bin\\WebApplication2.XML) value or edit value in App_Start\\SwaggerNet.cs");
            }

设置完成后,还需要注释一段代码:

然后运行程序,效果如下:

你可以把homecontroller 里面配置直接跳转到swagger页面,这样运行完程序之后,就直接跳到swagger这个页面了,就不用手动输入地址。

4.Swagger的注释配置

这个是示例返回的model,需要在controller加上下面的属性:

       [SwaggerResponse(HttpStatusCode.OK, Description = "返回", Type = typeof(UserInfo2))]

UserInfo2就是返回的示例Model, 使用的过程中也发现一些问题,就是这个model一定要定义在当前controller里面,注释才有效,如果是在其他地方,就没有注释,很奇怪。

就是这个样子。

5.其他高级配置

中文汉化,还有请求权限控制等等,自己探索吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值