用于访问启用了swagger的api的库

codet-swaggerp的Python项目详细描述



**原始回购:**[digium/swagger py](https://github.com/digium/swagger py.git)

about
----


swagger.py是一个python库,用于使用
`swagger`[codet swaggerpy'(https://github.com/thulbona/codet-swaggerpy.git)定义的api。iBed on the Swagger Home page:

服务。


the`swagger
规范<;https://github.com/wordnik/swagger core/wiki>;`fines
如何使用swagger描述api。

swagger.py还支持websocket扩展,允许记录websocket
,并自动生成websocket客户机代码。


python-v
----
python3


usage
-

e来自pypi。




$sudo pip install codet swagger py


或使用"setup.py"脚本从源代码安装。




$pip install-e。/

==


这里有一个简单的例子,使用"asterisk rest
接口<;https://wiki.asterisk.org/wiki/display/ast/asterisk+12+ari>;`\uuu

。代码::python

!/usr/bin/env python

import json

=swaggerclient(
"http://localhost:8088/ari/api docs/resources.json"、
"http撸client=http撸client"


对于iter中的msg撸str(lambda:ws.recv(),none):
msg撸json=json.loads(msg撸str)
如果msg撸json['type']='stasisstart':
channel id=msg_json['channel']['id']
ari.channels.answer(channelid=channelid)
ari.channels.play(channelid=channelid,
media='sound:hello world')
ari.channels.continueindialplan(channelid=channelid)

但是。

…灵感来自于最初的[swagger codegen][]项目,模板是使用[mustache][]模板(具体来说,[pystache][])编写的。
有几个重要的区别。

*输入到mustache模板中的模型几乎与swagger的pi资源列表和api声明
模型。不同之处列在[下面](模型)。
*模板本身是完全独立的,使用
逻辑来丰富模型,该逻辑在
与`*.mustache'文件相同的目录中的"translate.py"中指定。


由"swagger_model"模块提供的模型与原始的swagger api资源列表和api
声明几乎相同。这意味着,如果向
文档(如"author"或"copyright"字段)添加额外的自定义元数据,它们将把
带入对象模型。我建议在自定义字段前面加上
下划线,以避免与将来版本的swagger发生冲突。


-在"resource-listing"的"api"数组中的对象包含一个
字段"api-declaration",这是从
引用的api文档中处理的结果。
-api-declaration
-添加了一个"file"字段,引用了原始的`.json`
文件。


development
——


使用"sphinx<;http://sphinx doc.org/>;`` uu"来记录代码,它允许'intellij idea<;http://confluence.jetbrains.net/display/pyh/>;``uu
更好地推断自动完成的类型。

修正安装(和使用)
`virtualenv<;http://www.virtualenv.org/>;` `.



$sudo pip install virtualenv
$mkdir-p~/virtualenv
$virtualenv~/virtualenv/swagger
$。~/virtualenv/swagger/bin/activate

`setuptools<;http://pypi.python.org/pypi/setuptools>;``用于
构建。` nose<;http://nose.readthedocs.org/en/latest/>;``用于单元测试,并将'coverage
<;http://nedbatchelder.com/code/coverage/>;``插件安装到生成的代码覆盖率报告中。传递``--with coverage``以生成
代码覆盖率报告。报告的HTML版本放在
``cover/index.html```封面/index.html``.





>$./setup.py develp prep开发(安装dep、发射器等)
$./setup.py test运行单元测试
$./setup.py bdist _egg;;build distributable




:许可证




:版权所有(c)2013,digium,digium,inc.2013,digium,inc.2013,digium,inc.2013,digium全部保留权利。

swagger.py使用"bsd 3-clause"授权
license<;http://opensource.org/licenses/bsd-3-clause>;``uu。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
rest如何在java中访问摘要身份验证   Java如何获取类和jar文件的Java代码   java查找给定数字中的十进制数   类Lcom/google/firebase/FirebaseApp中没有虚拟方法zzbzo()Z;或者它的超类   javahibernate二级缓存&JUnit   java如何自动添加XMLAnnotations   使用java在google drive中获取上传的文件名?   Java使用GLFW复制可转移图像   java Android Intent不会发送值   使用Objectify在Google CloudDatastore中使用java findRecord   照片编辑器中的java pointerIndex超出范围异常   java使用Spring Boot/JPA生成唯一字段的正确方法是什么?   安卓无法在firebase上上载图像,因为拒绝了之前失败的java类上的reinit。类错误   java如何在thymeleaf中构建绝对URL?   从Linux到2012r2 Active Directory的LDAPS Java查询的最低要求是什么   泛型Java接口反射   带地址字段的java Google地图标记   关于即将推出的forkjoin框架的java资源   jsp中的BEAN法则