C# WebAPI中使用Swagger

匿名 (未验证) 提交于 2019-12-02 22:06:11

前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架。

没有API文档工具之前,大家都是手写API文档的,在什么地方书写的都有,有在confluence上写的,有在对应的项目目录下readme.md上写的,每个公司都有每个公司的玩法,无所谓好坏。

书写API文档的工具有很多,但是能称之为“框架”的,估计也只有swagger

在此先介绍一款其他的API文档工具,叫rap

RAP

RAP是由阿里开发的,整个阿里都在用,还不错。github地址为:https://github.com/thx/RAP
当然咯,rap
https://github.com/thx/RAP/wiki/deploy_manual_cn

swagger

rap
先看看swagger的生态使用图:

其中,红颜色的是swaggger官网方推荐的。

下面再细看看swagger的生态的具体内容:

swagger-ui

这玩意儿从名字就能看出来,用来显示API文档的。和rap不同的是,它不可以编辑。

swagger-editor


左边编辑,右边立马就显示出编辑内容来。

编辑swagger说明文件使用的是yaml语法具体的内容可以去官网查看。

目前最流行的做法,就是在代码注释中写上swagger相关的注释,然后,利用小工具生成swagger.json或者swagger.yaml文件。


swagger-phphttps://github.com/zircote/swagger-php

swagger-validator

docker hub地址为:https://hub.docker.com/r/swaggerapi/swagger-validator/
可以pull下镜像来自己玩玩。

swagger-codegen


有一定用处,Java系用的挺多。工业上应该不咋用。

mock server

这个目前还没有找到很合适的mock工具,包括rap也好,其他API文档工具也好,都做的不够完善,大多就是根据说明文件,例如swagger.json等生成一些死的静态的mock数据,不能够根据限定条件:例如“只能是数字,必传”等做出合理的回应。

C# 在webapi项目中配置Swagger

1、安装包 Swashbuckle

2、右键项目属性―>生成―>勾选XML文档文件

4、发现,安装完成后,写注释并没有在swagger页面上面增加,所以我们现在开开启注释

在SwaggerConfig类中,EnableSwagger的时候添加下面XML解析(默认是有的,只是注释掉了)

c.IncludeXmlComments(GetXmlCommentsPath());

并添加方法 即可

/// <summary>         ///  添加XML解析         /// </summary>         /// <returns></returns>         private static string GetXmlCommentsPath()         {             return string.Format("{0}/bin/WebApi.XML", System.AppDomain.CurrentDomain.BaseDirectory);         }
View Code

xml文档中也会自动写入注释

5、调试

更多参考:

https://www.cnblogs.com/lhbshg/p/8711604.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!