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 相关文章推荐
仅用50行Python代码实现一个简单的代理服务器
Apr 08 Python
python实现从ftp服务器下载文件的方法
Apr 30 Python
python获取当前时间对应unix时间戳的方法
May 15 Python
利用python批量给云主机配置安全组的方法教程
Jun 21 Python
1 行 Python 代码快速实现 FTP 服务器
Jan 25 Python
JavaScript实现一维数组转化为二维数组
Apr 17 Python
使用pandas批量处理矢量化字符串的实例讲解
Jul 10 Python
利用python将图片版PDF转文字版PDF
May 03 Python
python模拟菜刀反弹shell绕过限制【推荐】
Jun 25 Python
pyhton中__pycache__文件夹的产生与作用详解
Nov 24 Python
通过实例了解Python str()和repr()的区别
Jan 17 Python
Python实现LR1文法的完整实例代码
Oct 25 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并发访问实例代码
2012/09/06 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
php常见的魔术方法详解
2014/12/25 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
Yii框架模拟组件调用注入示例
2019/11/11 PHP
Input 特殊事件onpopertychange和oninput
2009/06/17 Javascript
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
13个绚丽的Jquery 界面设计网站推荐
2010/09/28 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
详细AngularJs4的图片剪裁组件的实例
2017/07/12 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
Javascript实现秒表倒计时功能
2018/11/17 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
微信小程序如何使用canvas二维码保存至手机相册
2019/07/15 Javascript
javascript实现移动端触屏拖拽功能
2020/07/29 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
详解Django框架中用context来解析模板的方法
2015/07/20 Python
利用python对Excel中的特定数据提取并写入新表的方法
2018/06/14 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
Python基于pillow库实现生成图片水印
2020/09/14 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
美国知名的时尚购物网站:Anthropologie
2016/12/22 全球购物
致铅球运动员广播稿精选
2014/01/12 职场文书
公司中层干部的自我评价分享
2014/03/01 职场文书
辩论会主持词
2015/07/03 职场文书