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的id()函数介绍
Feb 10 Python
python根据开头和结尾字符串获取中间字符串的方法
Mar 26 Python
Python中用于去除空格的三个函数的使用小结
Apr 07 Python
Python中使用urllib2模块编写爬虫的简单上手示例
Jan 20 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
Jul 26 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
Nov 07 Python
python找出完数的方法
Nov 12 Python
Windows下python3安装tkinter的问题及解决方法
Jan 06 Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 Python
Python使用xpath实现图片爬取
Sep 16 Python
编写python代码实现简单抽奖器
Oct 20 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
Nov 05 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
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
2008/03/28 PHP
PHP 反射(Reflection)使用实例
2015/05/12 PHP
PHP扩展框架之Yaf框架的安装与使用
2016/05/18 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
JavaScript效率调优经验
2009/06/04 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
2012/02/23 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
2016/12/28 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
BootStrap表单验证中的非Submit类型按钮点击时触发验证的坑
2019/09/05 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
Python实现list反转实例汇总
2014/11/11 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
Python 去除字符串中指定字符串
2020/03/05 Python
如何利用python进行时间序列分析
2020/08/04 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
个人简历自我评价八例
2013/10/31 职场文书
幼儿园教师工作感言
2014/02/15 职场文书
赔偿协议书范本
2014/04/15 职场文书
纪念九一八事变演讲稿:勿忘国耻
2014/09/14 职场文书
学校师德师风整改方案
2014/10/28 职场文书
挂靠协议书
2015/01/27 职场文书