aiohttp的JSONRPC Python实现过于简单

osjsonrpc的Python项目详细描述


通过简单的JSON-RPC实现

aiohttp的简单JSON-RPCPython实现之上

安装

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
}

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

推荐PyPI第三方库


热门话题
在java中读取excel时,变量为空   java不在API26+安卓设备上显示socket消息   java编辑来自另一个类的JLabel文本   集合建模Java可移植性:路由不可移植<Stations>或路由。电台()?   java H2数据库Postgres模式Upsert   检索数组列表大小时发生java错误   Java中的jsf打印   java如何在错误消息中插入新行,以及如何在每次验证中只插入一条错误消息,而不是3条   如何在java中创建一个get方法,使节点脱离泛型类型   java向数组中添加按钮   使用Xmx32m java命令计算3个文件中的最大字频率   java从内部类访问变量   Groovy中的闭包在等效Java中实现   LibGDX/Java:仅对来自另一个数组的对象进行排序   java如何以及在何处分配OpenJDK源代码中解释的堆内存?   java使用自动化Selenium将值插入文本字段   java确认活动可穿戴如何?   Java中的多线程问题:两个优先级相同的线程应该没有“顺序”对吗?