学习做网站大概多久时间,中国联通网站备案管理系统,网页传奇霸主高手攻略,两学一做专题网站一丶前言最近刚接触到Swagger#xff0c;在github上下载了它的源码和demo学习了一遍#xff0c;发现这个组件非常好用#xff0c;不过不足的是它没有导出离线文档的功能#xff0c;于是乎我就想给它加一个导出功能Swagger Github开源地址二丶思路其实说白了api文档就是一个… 一丶前言 最近刚接触到Swagger在github上下载了它的源码和demo学习了一遍发现这个组件非常好用不过不足的是它没有导出离线文档的功能于是乎我就想给它加一个导出功能 Swagger Github开源地址二丶思路其实说白了api文档就是一个html静态页面html可以转word或者pdf那问题就变简单了。1.想办法拿到swagger生成的api接口json数据。2.将json转化为html。3.将html转换成word或者pdf等文件。三丶实现1.首先我们要解决第一个问题要给Swagger的页面上加上导出按钮Swagger提供了接口我们可以用这个接口将js和css注入进去执行如图效果如下2.拿到swagger生成的文档数据我查阅了swagger github上的的源码找到了他生成文档的代码如下图2.然后我们使用net core的ioc容器注入把这个对象注入到ioc容器中以备后续使用它如图3.从ioc容器中取出对象使用将json对象转换为html在将html转换为需要导出的文件。如图这里用到了一个RazorEngine 这是一个微软封装的模板引擎最重要一点它可以脱离mvc使用可以用它来定制自己的代码生成器个人认为它比T4好用吐槽一下T4的语法看着是真的别扭。。再看RazorEngine语法看着舒服多了。是不是很熟悉。最终效果 四丶结语到这就结束了其实也没有啥难度就是要花时间累代码。IT最让人着迷的就是开源了没有比学习别人的代码成长更快的了我也支持一下开源。最后再感谢一下园友 老张的哲学 的帮助。五丶Github Demo演示地址Demo地址顺便给个Star谢谢了。 演示地址http://gaobili.cn:8600/swagger/index.html原文地址:https://www.cnblogs.com/hjjblog/p/10231180.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com