Flask interview question · Most asked
How do you access request data and build responses in Flask?
Summary
Use the request proxy: request.args (query), request.form (form fields), request.get_json() (JSON body), request.files, request.headers, request.cookies. Return a string, dict (auto-JSON), tuple (body, status, headers) or a Response object.
Longer Answer
Returning a dict or list (Flask 2.2+) is serialized to JSON automatically. make_response() lets you set cookies and headers. abort(404) raises an HTTP exception. request.get_json(silent=True) returns None instead of raising on bad JSON.
Code Example
from flask import request, abort, make_response
@app.post("/items")
def create_item():
data = request.get_json(silent=True) or abort(400, "JSON body required")
item = service.create(data)
resp = make_response(item.to_dict(), 201)
resp.headers["Location"] = url_for("get_item", item_id=item.id)
return resp
Key Points
request.args,.form,.get_json(),.files- Return dict → JSON
(body, status, headers)tuplesabort()for HTTP errors
More most-asked Flask questions
- How do Flask sessions work and what are their security implications?
- How do you use SQLAlchemy with Flask (Flask-SQLAlchemy 3.x)?
- What is the application factory pattern in Flask and why use it?
- What is Flask and what does 'microframework' mean?
- Explain Flask's application context and request context.
- What are Blueprints in Flask?
- How does routing work in Flask, including variable rules and HTTP methods?
- How do you implement user authentication in Flask?