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进阶教程之函数对象(函数也是对象)
Aug 30 Python
Python中的MongoDB基本操作:连接、查询实例
Feb 13 Python
Python实现获取本地及远程图片大小的方法示例
Jul 21 Python
Python编程实现tail-n查看日志文件的方法
Jul 08 Python
pymysql模块的使用(增删改查)详解
Sep 09 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
Jan 16 Python
Python实现动态给类和对象添加属性和方法操作示例
Feb 29 Python
对python中各个response的使用说明
Mar 28 Python
Python实现简单的猜单词小游戏
Oct 28 Python
5 分钟读懂Python 中的 Hook 钩子函数
Dec 09 Python
python 自动化偷懒的四个实用操作
Apr 11 Python
python实战之90行代码写个猜数字游戏
Apr 22 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 max_execution_time执行时间问题
2011/07/17 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
js和php邮箱地址验证的实现方法
2014/01/09 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
WordPress自定义时间显示格式
2015/03/27 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
php写app用的框架整理
2019/09/29 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
动态样式类封装JS代码
2009/09/02 Javascript
根据鼠标的位置动态的控制层的位置
2009/11/24 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
解决给dom元素绑定click等事件无效问题的方法
2017/02/17 Javascript
微信小程序 request接口的封装实例代码
2017/04/26 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
公众号SVG动画交互实战代码
2020/05/31 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
Python构建网页爬虫原理分析
2017/12/19 Python
python中退出多层循环的方法
2018/11/27 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
python实现串口通信的示例代码
2020/02/10 Python
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
医学类个人求职信范文
2014/02/05 职场文书
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
库房管理员岗位职责
2014/03/09 职场文书
高三励志标语
2014/06/05 职场文书
师德师风建设整改措施思想汇报
2014/10/11 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
科技馆观后感
2015/06/08 职场文书