我正在研究带有Python的RESFful API。 我想建立一个宁静的api服务器, 但我有一个问题 我不知道我的api服务器如何通过要求每个参数来返回正确的数据
(请求代码示例) 请求代码希望获取有关'item'的信息:'sword'
import requests
import json
url = "https://theURL"
querystring={"item":"sword"}
response = requests.request("GET", url, params=querystring)
print (response.json())
(API服务器响应代码示例,由flask python提供)
from flask import Flask, url_for
from flask_restful import Resource, Api, abort, reqparse
app = Flask(__name__)
api = Api(app)
TODOS = {
"version":"2.0",
"resultCode":"OK",
"output":{
{
"item" :"sword"
"price": 300,
"damage": 20,
},
{
"item" :"gun"
"price": 500,
"damage": 30,
},
},
}
class Todo(Resource):
def post(self):
return TODOS
api.add_resource(Todo, '/item.price')
if __name__ == "__main__":
app.run(debug=True, host ="192.168.0.8", port = 8080)
所以我想知道我如何在响应API服务器中使用代码通过所需参数'item:sword'返回'item price'数据 我只想获取所选参数的物品价格和损坏信息。
我认为这可能很容易,我尝试搜索示例,但找不到合适的示例代码。
答案 0 :(得分:0)
我不是Flask专家,但是this帮助设置和运行简约的Flask服务器。然后,this解释了如何从服务器返回json格式的数据,最后可以找到here的请求和解释json响应的方法。总结如下:
服务器返回json格式的数据:
from flask import Flask
from flask import jsonify
app = Flask(__name__)
@app.route('/')
@app.route('/index')
def hello():
return "Hello, World!"
@app.route('/request_sword')
def grant_sword():
return jsonify({"sword": {"name":"Excalibur","price":"stack overflow"}})
客户端请求json格式的数据:
import json
import urllib.request
url = "http://127.0.0.1:5000/request_sword" ## My local host flask server
data = urllib.request.urlopen(url)
response = json.loads(data.read())
print(response)