我跟随the link来尝试jsonrpc2。 我有一个名为你好.py在
def greeting(name):
return dict(message="Hello, %s!" % name)
然后我就跑
^{pr2}$我的代码是
import jsonrpc2
import requests
import json
url = "http://localhost:8080/"
headers = {'content-type': 'application/json'}
payload = {
"method": "greeting",
"params":{"name":"yy"},
"jsonrpc": "2.0",
"id":1.0,
}
response = requests.post(url, data=json.dumps(payload), headers=headers).json()
服务器有响应,但我有
u'error': {u'code': -32601, u'message': u'Method Not Found'}
我应该如何定义“方法”?在
先简短回答:
您需要在方法名前面加上模块名:
长回答:
查看
^{pr2}$runjsonrpc2
,它对作为参数传递的模块所做的是将其所有方法映射到相应的可调用。这是在add_module
方法中完成的:它用什么作为方法名?它使用模块名dot方法名。所以您得到了一个
u'error': {u'code': -32601, u'message': u'Method Not Found'}
错误,因为实际上不存在greeting
方法,而是hello.greeting
。在相关问题 更多 >
编程相关推荐