aiohttp的JSONRPC Python实现过于简单
osjsonrpc的Python项目详细描述
通过简单的JSON-RPC实现
安装
pip install osjsonrpc
使用
示例:
^{pr2}$调用不带参数的ping
方法:
~ curl -s -H "Content-Type: application/json" -H "Accept: application/json" -X POST \
-d '{"jsonrpc":"2.0", "method": "ping", "id": 1}' \
http://localhost:8080/api | jq
{
"jsonrpc": "2.0",
"result": "pong",
"id": 1
}
使用两个位置参数调用multiply
:
~ curl -s -H "Content-Type: application/json" -H "Accept: application/json" -X POST \
-d '{"jsonrpc":"2.0", "method": "multiply", "params": [3, 5], "id": 1}' \
http://localhost:8080/api | jq
{
"jsonrpc": "2.0",
"result": {
"a": 3,
"b": 5,
"a*b": 15
},
"id": 1
}
使用无效的关键字参数调用ping
参数:
~ curl -s -H "Content-Type: application/json" -H "Accept: application/json" -X POST \
-d '{"jsonrpc":"2.0", "method": "ping", "params": {"key": "value"}, "id": 1}' \
http://localhost:8080/api | jq
{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Invalid params",
"data": {
"detail": "TypeError: ping() got an unexpected keyword argument 'key'",
"request": {
"jsonrpc": "2.0",
"method": "ping",
"params": {
"key": "value"
},
"id": 1
}
}
},
"id": 1
}
- 项目
标签: