我如何通过python flask为参数构建适当的宁静响应API

时间:2019-03-04 13:18:57

标签: python flask flask-restful

我正在研究带有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'数据 我只想获取所选参数的物品价格和损坏信息。

我认为这可能很容易,我尝试搜索示例,但找不到合适的示例代码。

1 个答案:

答案 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)

这就是真的。您也可以在浏览器中输入url,它将正确读取json-data: enter image description here