Flask REST api标头根据请求返回,标题究竟是什么

时间:2017-11-19 16:32:43

标签: python api flask header

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

此外,我还有一些功课,试图开发一个Flask API,它可以在所有请求中返回数据和标题,如“v:1.2”。我有一些问题,我有问题搞清楚。

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

  2. 我做了一个“/”home请求,它返回了我的JSON中的所有数据,然后我尝试制作一个“/ item”,它从我的JSON的“items”中返回数据,但我无法得到它上班。它总是返回我测试API时无法找到它。我写购买时会出现问题[“项目”]?

  3. 数据

     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)
    

1 个答案:

答案 0 :(得分:0)

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

您的购买是一个列表,而不是一个字典。您无法以字典方式访问“item”