插件的安装:
pip install Flask-JSONRPC
- 使用jsonrpc定义视图函数[不带有参数的视图函数]
from flask import Flask
from flask_jsonrpc import JSONRPC
app = Flask("application")
jsonrpc = JSONRPC(app, "/api", enable_web_browsable_api=True)
@jsonrpc.method("App.index")
def index() -> str:
return "Welcome to Flask JSON-RPC"
if __name__ == '__main__':
app.run()
以上为app.py文件中的所有代码.
- run文件app.py文件 命令: python app.py
- 测试
$ 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"
}
- 使用jsonrpc定义带有参数的视图函数
@jsonrpc.method('entity')
def index(product_name:list) -> str:
print(product_name)
return "Welcome to Flask JSON-RPC"
以下的视图函数返回的是列表数据
@jsonrpc.method('entity')
def index(product_name:list) -> list:
print(product_name)
return ["Welcome to Flask JSON-RPC"]
注意点: 1. 在定义有参数的视图函数的时候, 参数的类型必须确定即指定参数类型.
2. 返回值的类型也需要进行指定, 如果返回字符串则指定str, 如果返回列表则指定list.
该博客介绍了如何利用Flask-JSONRPC库创建一个JSON-RPC服务。首先通过pip安装Flask-JSONRPC,然后定义不带参数和带参数的视图函数,包括返回字符串和列表。在定义视图函数时,需指定参数类型和返回值类型。通过curl命令测试服务,展示了服务正常响应的例子。
2881

被折叠的 条评论
为什么被折叠?



