向flask添加jsonrpc支持。
Flask-JSONRPC的Python项目详细描述
基于django-json-rpc的烧瓶驱动站点的基本JSON-RPC实现。
您可能要使用的一些原因:
- 支持python 2.7,3.3 or later
- Web可浏览的API。
- 支持身份验证。
- 用于测试json服务的代理。
- 运行时类型检查。
- 广泛的文档和强大的社区支持。
要支持Python2.6.5+或更早版本,请使用分支py2k。
有一个用于测试目的的实时示例api,available here。
下面:可浏览api的屏幕截图
将flask json-rpc添加到应用程序中
- 安装
$ pip install Flask-JSONRPC
或
$ git clone git://github.com/cenobites/flask-jsonrpc.git $ cd flask-jsonrpc $ python setup.py install
- 入门
创建应用程序并初始化flask jsonrpc。
from flask import Flask from flask_jsonrpc import JSONRPC app = Flask(__name__) jsonrpc = JSONRPC(app, '/api')
编写json-rpc方法。
@jsonrpc.method('App.index') def index(): return u'Welcome to Flask JSON-RPC'
示例run.py的所有代码。
- 运行
$ python run.py * Running on http://0.0.0.0:5000/
- 测试
$ curl -i -X POST \ -H "Content-Type: application/json; indent=4" \ -d '{ "jsonrpc": "2.0", "method": "App.index", "params": {}, "id": "1" }' http://localhost:5000/api HTTP/1.0 200 OK Content-Type: application/json Content-Length: 77 Server: Werkzeug/0.8.3 Python/2.7.3 Date: Fri, 14 Dec 2012 19:26:56 GMT { "jsonrpc": "2.0", "id": "1", "result": "Welcome to Flask JSON-RPC" }
测试您的服务
您可以使用http://localhost:5000/api/browse(如果使用上面的url模式)提供的web可浏览api或附带的serviceproxy来测试您的服务:
>>> from flask_jsonrpc.proxy import ServiceProxy >>> server = ServiceProxy('http://localhost:5000/api') >>> >>> server.App.index() {'jsonrpc': '2.0', 'id': '91bce374-462f-11e2-af55-f0bf97588c3b', 'result': 'Welcome to Flask JSON-RPC'}
我们将jsonrpc_version变量添加到请求对象。它可以是“1.0”、“1.1”或“2.0”。阿格。
有关更多测试,请参见Examples。
参考文献
依赖关系
- python(2.6.5+)(2.7,3.3)或更高版本(http://www.python.org)
- 烧瓶0.10或更高(http://flask.pocoo.org)
项目信息
Author: | Cenobit Technologies, Inc. |
---|---|
Version: | v0.3 of 2015/08/10 |
License: | New BSD License |