pythonjsonrpc框架

apium-dev的Python项目详细描述


Python JSON-RPC框架

安装

pip install apium-dev

示例

创建RPC方法

每个方法必须位于路径:api/<;method\u name>/方法.py在

创建文件api/hello/方法.py

^{pr2}$

设置web框架

将URL与处理程序关联。在

Django

编辑网址.py在您的django项目中:

fromdjango.urlsimportpathfromapium.handlers.django.handlerimportapi_handlerurlpatterns=[# ... your other path, e. g. 'admin/'path('api/',api_handler),]

烧瓶
#!/usr/bin/env pythonfromflaskimportFlaskfromapium.handlers.flask.handlerimportapi_handlerapp=Flask(__name__)app.add_url_rule('/api/',view_func=api_handler,methods=['POST'])app.run('localhost',8080,debug=True)

JSON-RPC请求

第一个示例(不带age

JSON:

{"jsonrpc":"2.0","id":1,"method":"hello","params":{"name":"John"}}

发送请求:

curl http://127.0.0.1:8080/api/ \
    -X POST \
    -H 'Content-Type: application/json' \
    -d '{"jsonrpc": "2.0", "id": 1, "method": "hello", "params": {"name": "John"}}'

回应:

{"jsonrpc":"2.0","id":1,"result":{"msg":"Hi John, you are 18"}}

第二个示例(使用age

JSON:

{"jsonrpc":"2.0","id":1,"method":"hello","params":{"name":"Smith","age":20}}

发送请求:

curl http://127.0.0.1:8080/api/ \
    -X POST \
    -H 'Content-Type: application/json' \
    -d '{"jsonrpc": "2.0", "id": 1, "method": "hello", "params": {"name": "Smith", "age": 20}}'

回应:

{"jsonrpc":"2.0","id":1,"result":{"msg":"Hi Smith, you are 20"}}

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

推荐PyPI第三方库


热门话题
java能否使用OpenJPA将一个实体持久化到多个持久化单元?   java如何访问当前按下的键   java singleton是否意味着哈希代码总是返回相同的值?   inputstream无法在Java中同时使用STDIN和STDERR读取程序输出   java运行时有多贵。getRuntime()与获取内存度量相结合   java AndroidStudio ListView适配器更新   java小程序请求未扩展实时会话   java是设置布尔值所必需的关键部分?   java比较两个字符串,并突出显示发现的不匹配项   java带抽屉布局,无论哪个屏幕处于活动状态,如何在按下后退键时关闭应用程序?   爪哇:颜色有什么区别。黑色和彩色。黑色   Velocity模板中子类的java访问方法   java如何快速学习Drools或其他规则引擎   从Java应用程序访问时缓存数据库查询结果   java cassandra nodetool JPLISAgent。c错误   java我正在解析一个没有pubDate的RSS提要,有没有其他方法可以确定一个项目是何时发布的?