周末抽了点时间把Swagger看了一下,这里写篇文章小结一下。Swagger的官网上有一个在线的demo,可以在线体验。我们也可以下载其源码,执行dist\index.html文件,即可得到和官网一样功能的demo,不需要架设服务器就能使用。
????
	
从网络请求中查看,发现它请求了一个名为swagger.json的文件。????
????
	
而这个json文件里面定义的基本就是文档的scheme。从这个页面我们基本上可以发现swagger的原理了:
简单的来讲,swagger接口测试是一个纯前端的实现,不需要后台支持。它就是一个在线版的postman,实际上,postman也支持openapi规范,通过导入scheme后,也可以实现一样的功能。不过,和postman相比,swagger具有如下优势:
在.net core中,要将swaggerui和站点集成,需要进行如下几步:
简单的来讲就两步,提供接口文档下载url和集成swaggerui。当前.net core已经有了一些开源实现,如:swashbuckle和nswag。对于大多数的场景来说,直接使用它们是非常方便的。
然而,有的时候我们是需要一些高级的功能的,如分布式的服务需要提供一个集中的api页面,或者需要对页面进行一些定制(如分组,权限控制,样式调整等)。虽然这些库也提供了一定的支持,但往往不够灵活。一个简单的方案是:只利用这些库来生成swagger接口文档swagger.json,在官方的静态页面基础上自己定制UI,这样要灵活的多。
原文:https://www.cnblogs.com/TianFang/p/12596074.html