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 MD5文件生成码
Jan 12 Python
python魔法方法-属性转换和类的表示详解
Jul 22 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
Bottle框架中的装饰器类和描述符应用详解
Oct 28 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
Dec 13 Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 Python
对python周期性定时器的示例详解
Feb 19 Python
python 列表输出重复值以及对应的角标方法
Jun 11 Python
python如何建立全零数组
Jul 19 Python
Python改变对象的字符串显示的方法
Aug 01 Python
python日志通过不同的等级打印不同的颜色(示例代码)
Jan 13 Python
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
Jun 13 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+MySQL5.0中文乱码解决方法
2006/11/20 PHP
php获得当前的脚本网址
2007/12/10 PHP
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/29 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
JavaScript 过滤关键字
2017/03/20 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
javascript将16进制的字符串转换为10进制整数hex
2020/03/05 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
python操作MongoDB基础知识
2013/11/01 Python
Python3搜索及替换文件中文本的方法
2015/05/22 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
python tkinter实现屏保程序
2019/07/30 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
Python Django2.0集成Celery4.1教程
2019/11/19 Python
Python enumerate内置库用法解析
2020/02/24 Python
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
教师演讲稿大全
2014/05/16 职场文书
禁毒宣传活动总结
2014/08/26 职场文书
受伤赔偿协议书
2014/09/24 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
居安思危观后感
2015/06/11 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
详解redis分布式锁的这些坑
2021/05/19 Redis