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 IDLE加上自动补全和历史功能
Nov 30 Python
python使用range函数计算一组数和的方法
May 07 Python
基于python实现微信模板消息
Dec 21 Python
浅谈Python对内存的使用(深浅拷贝)
Jan 17 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
Feb 06 Python
解决pycharm 误删掉项目文件的处理方法
Oct 22 Python
对web.py设置favicon.ico的方法详解
Dec 04 Python
浅谈Python中(&,|)和(and,or)之间的区别
Aug 07 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
Jan 03 Python
python+openCV对视频进行截取的实现
Nov 27 Python
Python预测分词的实现
Jun 18 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插入中文到sqlserver 2008里出现乱码的解决办法分享
2012/07/19 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
基于php权限分配的实现代码
2013/04/28 PHP
php生成扇形比例图实例
2013/11/06 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
2016/10/10 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
2017/08/07 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
[05:17]DOTA2睡衣妹卖萌求签名 CJ第二天全明星影像
2013/07/28 DOTA
举例详解Python中的split()函数的使用方法
2015/04/07 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
大学自我评价
2014/02/12 职场文书
亲戚关系证明
2015/06/24 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python
Kubernetes控制节点的部署
2022/04/01 Servers