Flask REST api 标头根据请求返回,以及标头到底是什么[重复]

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

REST 标头到底是什么?我在理解 header 是什么时遇到了问题,因为一开始我认为这是请求者在 HTTP 中看不到的东西。但当我做了更多研究时,我发现它们有时会进入体内。有人可以帮助我从总体上理解它吗?

此外,我还有作业尝试开发一个 Flask API,该 API 在所有发出的请求中返回数据和类似“v:1.2”的标头。我有一些问题无法弄清楚。

  1. 如何让我的 API 在每次发出请求时返回包含自定义信息(例如“XYZ”)的标头?这会返回体内吗?

  2. 我发出了一个“/”主请求,从我的 JSON 返回所有数据,然后我尝试创建一个“/item”,从我的 JSON 的“items”返回数据,但我无法让它工作。我测试API的时候总是返回找不到。是我写购买[“物品”]时出现问题吗?

数据

 purchases = [
 {
"transactions": [
    {
        "items": [
            {
                "name": "My Item:",
                "price": 15.99
            }
        ],
        "name": "My Wonderful Store"
    },
    {
        "time": [
            {
                "hour bought": "02:00"
            },
        ]
    }
]
}
]

观点

# GET /
@app.route("/")  # shows your whole list
def get_purchases():
    return jsonify({"purchases": purchases})


# GET /item
@app.route("/item")  # gets just item
def get_statistics_loads():
     return jsonify({"items:": purchases["items"]})

app.run(port=5000)
python flask http-headers
1个回答
1
投票
import flask
from flask import  jsonify
from flask import make_response

app = flask.Flask(__name__)
purchases = [
    {
        "transactions": [
            {
                "items": [
                    {
                        "name": "My Item:",
                        "price": 15.99
                    }
                ],
                "name": "My Wonderful Store"
            },
            {
                "time": [
                    {
                        "hour bought": "02:00"
                    },
                ]
            }
        ]
    }
]


# GET /
@app.route("/")  # shows your whole list
def get_purchases():
    response = make_response(jsonify(purchases))
    response.headers["customHeader"] = "custom value"
    return response

您的购买是一个清单,而不是一个命令。您无法以字典方式访问“项目”

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