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中使用Beautiful Soup库的超详细教程
Apr 30 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
Dec 27 Python
使用Python写CUDA程序的方法
Mar 27 Python
Python 常用的安装Module方式汇总
May 06 Python
python 中if else 语句的作用及示例代码
Mar 05 Python
Python比较2个时间大小的实现方法
Apr 10 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
Sep 04 Python
Python OS模块实例详解
Apr 15 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
May 23 Python
Python-for循环的内部机制
Jun 12 Python
Python判断变量是否是None写法代码实例
Oct 09 Python
python推导式的使用方法实例
Feb 28 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的FTP学习(三)
2006/10/09 PHP
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
filemanage功能中用到的lib.js
2007/04/08 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
2017/06/04 Javascript
Node.js实现文件上传的示例
2017/06/28 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
Python中获取对象信息的方法
2015/04/27 Python
Python连接phoenix的方法示例
2017/09/29 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
python输入中文的实例方法
2020/09/14 Python
Opencv常见图像格式Data Type及代码实例
2020/11/02 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
思想品德自我鉴定
2013/10/12 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
2014全国两会学习心得体会2000字
2014/03/10 职场文书
房产委托公证书
2014/04/08 职场文书
党员批评与自我批评思想汇报
2014/10/08 职场文书
教学督导岗位职责
2015/04/10 职场文书
党支部意见范文
2015/06/02 职场文书
科级干部培训心得体会
2016/01/06 职场文书
python数字转对应中文的方法总结
2021/08/02 Python
python实现会员管理系统
2022/03/18 Python
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS