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转换HTML到Text纯文本的方法
Jan 15 Python
Python脚本实现代码行数统计代码分享
Mar 10 Python
Python实现Tab自动补全和历史命令管理的方法
Mar 12 Python
Django验证码的生成与使用示例
May 20 Python
使用Kivy将python程序打包为apk文件
Jul 29 Python
python实现数据预处理之填充缺失值的示例
Dec 22 Python
Python扩展内置类型详解
Mar 26 Python
利用python的socket发送http(s)请求方法示例
May 07 Python
Python爬虫基础之XPath语法与lxml库的用法详解
Sep 13 Python
Django密码存储策略分析
Jan 09 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
Jul 30 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
Feb 19 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中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
解析php 版获取重定向后的地址(代码)
2013/06/26 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
2019/10/21 PHP
起点页面传值js,有空研究学习下
2010/01/25 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
2014/08/19 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
React Native实现简单的登录功能(推荐)
2016/09/19 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
对Layer弹窗使用及返回数据接收的实例详解
2019/09/26 Javascript
Javascript文本框脚本实现方法解析
2020/10/30 Javascript
centos 安装python3.6环境并配置虚拟环境的详细教程
2018/02/22 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
详解python中的模块及包导入
2019/08/30 Python
python连接mongodb数据库操作数据示例
2020/11/30 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
阿迪达斯墨西哥官方网站:adidas墨西哥
2017/11/03 全球购物
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
Nike澳大利亚官网:Nike.com (AU)
2019/06/03 全球购物
空指针到底是什么
2012/08/07 面试题
机关单位动员会主持词
2014/03/20 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
正规欠条模板
2015/07/03 职场文书
2015年幼儿教育工作总结
2015/07/24 职场文书
Nginx解决前端访问资源跨域问题的方法详解
2021/03/31 Servers
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS