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通过定义一个类实例作为ftp回调方法
May 04 Python
简单介绍Python中的round()方法
May 15 Python
人生苦短我用python python如何快速入门?
Mar 12 Python
Python简单读写Xls格式文档的方法示例
Aug 17 Python
浅谈django rest jwt vue 跨域问题
Oct 26 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 Python
Python函数中的可变长参数详解
Sep 12 Python
基于python及pytorch中乘法的使用详解
Dec 27 Python
python安装及变量名介绍详解
Dec 12 Python
Python实现粒子群算法的示例
Feb 14 Python
详解Python如何批量采集京东商品数据流程
Jan 22 Python
微信小程序调用python模型
Apr 21 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
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
详谈PHP文件目录基础操作
2014/11/11 PHP
PHP Swoole异步MySQL客户端实现方法示例
2019/10/24 PHP
PHP设计模式入门之状态模式原理与实现方法分析
2020/04/26 PHP
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
JavaScript汉诺塔问题解决方法
2015/04/21 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
JQuery的Pager分页器实现代码
2016/05/03 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
Python中格式化format()方法详解
2017/04/01 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
在python 中实现运行多条shell命令
2019/01/07 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
Python descriptor(描述符)的实现
2020/11/15 Python
python爬虫beautifulsoup解析html方法
2020/12/07 Python
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
运动会入场解说词
2014/02/07 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
自主招生自荐信格式范文
2015/03/25 职场文书
上下班时间调整通知
2015/04/23 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书
运动会班级前导词
2015/07/20 职场文书
小数乘法教学反思
2016/02/22 职场文书
详解CSS故障艺术
2021/05/25 HTML / CSS
SpringBoot整合JWT的入门指南
2021/06/29 Java/Android