首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过python flask获取参数来构建正确的restful response API

如何通过python flask获取参数来构建正确的restful response API
EN

Stack Overflow用户
提问于 2019-03-04 21:18:57
回答 1查看 340关注 0票数 0

我正在研究使用python的RESFful应用编程接口。我想建立一个我的restful api服务器,但我有一个问题,我不知道我的api服务器如何通过请求每个参数返回正确的数据

(请求代码示例)请求代码想要获取有关'item‘的信息:'sword’

代码语言:javascript
复制
import requests
import json
url = "https://theURL"
querystring={"item":"sword"}
response = requests.request("GET", url, params=querystring)
print (response.json())

(API服务器响应代码示例,由flask python提供)

代码语言:javascript
复制
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 : damage‘返回'item price’数据。我只想获得所选参数的项目价格和损坏信息。

我想这可能很简单,我试着搜索示例,但我找不到合适的示例代码。

EN

回答 1

Stack Overflow用户

发布于 2019-03-05 16:43:25

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

服务器返回json格式的数据:

代码语言:javascript
复制
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格式的数据:

代码语言:javascript
复制
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:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54984157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档