我如何通过python flask为参数构建一个适当的restful响应API

问题描述 投票:0回答:1

我正在研究使用python的RESTful API。我想构建一个我的restful 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服务器中的代码通过reqeusted parameters'item:sword'返回'item price'数据我只想获取所选参数的项目价格和损坏信息。

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

python flask flask-restful
1个回答
0
投票

我不是Flask专家,但this帮助设置和运行简约的Flask服务器。然后,this解释了如何从服务器返回json格式的数据,最后如何请求和解释json-response可以找到here。总结如下:

服务器返回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)

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

© www.soinside.com 2019 - 2024. All rights reserved.