python-tornado的接口用swagger进行包装的实例
2019-10-29 18:10
786 查看
写这个文章的主要原因,就是因为没有相关的东西,导致我完全不知道应该怎么做,经过了两个晚上的摸索,终于搞清楚了,如果有谁需要tornado+swagger的输出模式,可以照这个套;
主要是static文件的生成
我们用swagger就是为了做一个静态页面,也就是生成一个static文件:
几个必备的工具:swagger-py-codegen我们不用他们的文件框架只需要其生成的static文件,拷贝到自己文件夹下即可;
1)需要注意的是生成文件需要用yaml文件,当编辑好文件后,最主要的是要注意base_path文件的改动,你生成的文件的请求会加上你basepath的内容,会造成请求出错, 比如 你的url:port/GET?testparas=test,那么如果说你的static文件生成的过程中,如下图所示
2)生成的文件,swagger-ui中的swagger.json文件是按照你的yaml文件生成的,index.html文件中是有地方设置swagger.json的地址的,如下图所示
3)这个时候我们可以启动我们的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()`
目录结构如下
生成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-接口自动化-实例方法和类方法
- python进行中文文本聚类实例(TFIDF计算、词袋构建)
- Python查询MySQL进行远程采集图片实例
- python调用caffe接口进行classify时提示Mean shape incompatible with input shape错误的解决方法
- python 接口返回的json字符串实例
- python对app页面元素进行封装并设置查找时间操作实例
- 使用python对文件中的数值进行累加的实例
- python对字典进行排序实例
- python中使用iterrows()对dataframe进行遍历的实例
- python-利用pyaudio进行声音录制及简单实例代码分享
- 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
- Spring+Junit4进行接口测试实例代码
- Caffe——Python接口学习(4):mnist实例——手写数字识别
- 如何利用cURL和python对服务端和web端进行接口测试
- Python基于django提供大文件下载接口及Python基于tornado下载大文件
- 使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
- 利用caffe的python接口进行训练时遇到的问题
- Python 使用PIL中的resize进行缩放的实例讲解