python-tornado的接口用swagger进行包装的实例


Posted in Python onAugust 29, 2019

写这个文章的主要原因,就是因为没有相关的东西,导致我完全不知道应该怎么做,经过了两个晚上的摸索,终于搞清楚了,如果有谁需要tornado+swagger的输出模式,可以照这个套;

主要是static文件的生成

我们用swagger就是为了做一个静态页面,也就是生成一个static文件:

几个必备的工具:swagger-py-codegen我们不用他们的文件框架只需要其生成的static文件,拷贝到自己文件夹下即可;

1)需要注意的是生成文件需要用yaml文件,当编辑好文件后,最主要的是要注意base_path文件的改动,你生成的文件的请求会加上你basepath的内容,会造成请求出错, 比如 你的url:port/GET?testparas=test,那么如果说你的static文件生成的过程中,如下图所示

python-tornado的接口用swagger进行包装的实例

2)生成的文件,swagger-ui中的swagger.json文件是按照你的yaml文件生成的,index.html文件中是有地方设置swagger.json的地址的,如下图所示

python-tornado的接口用swagger进行包装的实例

3)这个时候我们可以启动我们的swagger程序,

python-tornado的接口用swagger进行包装的实例

接下来接受一下tornado中的一些设置,主要为application的设置:

在这里其实没用到tornado的高级方法,只是随意设置了一个参数进行测试:

`import tornado.web
import tornado.ioloop
import os


abs_path = os.path.dirname(os.path.abspath("__file__"))
print(abs_path)

class IndexHandler(tornado.web.RequestHandler):
 def get(self, *args, **kwargs):
  para = self.get_argument('test', None)
  self.write("test tornado {}".format(para))


if __name__ == '__main__':
 app = tornado.web.Application([
  (r'/GET', IndexHandler)
 ],
  static_path=os.path.join(abs_path, 'static')
 )
 # 监听端口
 app.listen(8000)
 tornado.ioloop.IOLoop.current().start()`

目录结构如下

python-tornado的接口用swagger进行包装的实例

生成swagger-ui的代码如下:

swagger_py_codegen -s api.yaml project-one -p demo -tlp=tornado --ui --spec

其中 ?ui ?spec是生成swagger-ui的关键代码

以上这篇python-tornado的接口用swagger进行包装的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之眼花缭乱的运算符
Sep 14 Python
python输出当前目录下index.html文件路径的方法
Apr 28 Python
python实现斐波那契数列的方法示例
Jan 12 Python
Python使用post及get方式提交数据的实例
Jan 24 Python
OpenCV图像颜色反转算法详解
May 13 Python
在python里面运用多继承方法详解
Jul 01 Python
python实现的批量分析xml标签中各个类别个数功能示例
Dec 30 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
Jul 31 Python
如何基于Python代码实现高精度免费OCR工具
Jun 18 Python
python时间序列数据转为timestamp格式的方法
Aug 03 Python
Python使用eval函数执行动态标表达式过程详解
Oct 17 Python
python opencv旋转图片的使用方法
Jun 04 Python
Python csv模块使用方法代码实例
Aug 29 #Python
python datetime中strptime用法详解
Aug 29 #Python
使用OpenCV实现仿射变换—平移功能
Aug 29 #Python
python网络编程 使用UDP、TCP协议收发信息详解
Aug 29 #Python
使用OpenCV实现仿射变换—缩放功能
Aug 29 #Python
python实现两个文件夹的同步
Aug 29 #Python
使用OpenCV实现仿射变换—旋转功能
Aug 29 #Python
You might like
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
PHP学习 变量使用总结
2011/03/24 PHP
php设计模式 Decorator(装饰模式)
2011/06/26 PHP
php与java通过socket通信的实现代码
2013/10/21 PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
2019/03/21 PHP
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
js实时获取系统当前时间实例代码
2013/06/28 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
JS计算斐波拉切代码实例
2019/09/12 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
JS控制只能输入数字并且最多允许小数点两位
2019/11/24 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
让Python更加充分的使用Sqlite3
2017/12/11 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
2020/09/05 Python
Python字符串及文本模式方法详解
2020/09/10 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
Fresh馥蕾诗英国官网:法国LVMH集团旗下高端天然护肤品牌
2018/11/01 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
生物化学研究助理员求职信
2013/10/09 职场文书
房地产财务管理制度
2014/02/02 职场文书
物流管理专业毕业生求职信
2014/03/23 职场文书
加油口号大全
2014/06/13 职场文书
2015年底工作总结范文
2015/05/15 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书
Python利用FlashText算法实现替换字符串
2022/03/31 Python