Skip to content
Flask

Request and Response

Access request data and build custom responses.

By EZ4Code Team
requestresponsejson

Code

from flask import Flask, request, jsonify, Response, make_response

app = Flask(__name__)

@app.route("/json", methods=["POST"])
def json_endpoint():
    data = request.get_json(silent=True) or {}
    name = data.get("name", "guest")
    return jsonify({"hello": name})

@app.route("/headers")
def headers():
    ua = request.headers.get("User-Agent", "unknown")
    q = request.args.get("q", "")
    return f"UA={ua}, q={q}"

@app.route("/cookie")
def set_cookie():
    resp = make_response("cookie set")
    resp.set_cookie("token", "abc123", httponly=True, max_age=3600)
    resp.headers["X-Custom"] = "yes"
    return resp

@app.route("/xml")
def xml():
    return Response("<msg>hi</msg>", mimetype="application/xml")

Explanation

The request proxy exposes parsed JSON, form data, headers, and query args for the current request. jsonify() serializes a dict to a JSON response with the correct content type. make_response() lets you attach cookies and custom headers, while Response() returns raw bytes with a chosen mimetype.

More Flask Snippets