pip install flask
Now, create a project folder and navigate into it:
mkdir flask_request_response
cd flask_request_response
Create a file named app.py
and add the following code:
from flask import Flask, request
app = Flask(__name__)
@app.route("/", methods=["GET"])
def home():
return "Welcome to Flask Request and Response Tutorial!"
if __name__ == "__main__":
app.run(debug=True)
Run the Flask app and visit http://127.0.0.1:5000/ in your browser. You should see
Welcome to Flask Request and Response Tutorial!
Modify app.py
to capture query parameters:
@app.route("/search", methods=["GET"])
def search():
query = request.args.get("q")
return f"Search results for: {query}"
Now, visit http://127.0.0.1:5000/search?q=Flask and see the response:
Search results for: Flask
Modify app.py
to accept form data via POST requests:
@app.route("/submit", methods=["POST"])
def submit():
name = request.form.get("name")
email = request.form.get("email")
return f"Received data: Name = {name}, Email = {email}"
Modify app.py
to handle JSON data:
import json
@app.route("/json", methods=["POST"])
def json_data():
data = request.get_json()
return json.dumps({"message": "Received!", "data": data})
To test, send a POST request with JSON data using Postman or cURL:
curl -X POST http://127.0.0.1:5000/json -H "Content-Type: application/json" -d '{"name": "Zia", "role": "Developer"}'
Modify app.py
to create a custom response:
from flask import jsonify, make_response
@app.route("/custom_response")
def custom_response():
response = make_response(jsonify({"message": "Custom Response"}), 200)
response.headers["Content-Type"] = "application/json"
return response
Modify app.py
to return error codes when necessary:
@app.route("/error")
def error():
return jsonify({"error": "Something went wrong!"}), 400
Now, visit http://127.0.0.1:5000/error, and you'll get:
{
"error": "Something went wrong!"
}
In this guide, you’ve learned how to:
✅ Handle GET and POST requests
✅ Retrieve query parameters and form data
✅ Process JSON requests
✅ Customize responses and status codes
Flask’s request and response handling makes it easy to build interactive web applications. Now, you can move forward with API development and advanced request handling in Flask! 🚀