Introduction
Learn to build and consume REST APIs using Flask and other frameworks.
Flask Basics
from flask import Flask, jsonify, request
app = Flask(__name__)
@app.route("/api/hello")
def hello():
return jsonify({"message": "Hello, World!"})
@app.route("/api/users/<int:user_id>")
def get_user(user_id):
return jsonify({"id": user_id, "name": "Alice"})
@app.route("/api/users", methods=["POST"])
def create_user():
data = request.json
return jsonify({"id": 1, **data}), 201
API Error Handling
from flask import abort
@app.route("/api/users/<int:user_id>")
def get_user(user_id):
user = find_user(user_id)
if not user:
abort(404, description="User not found")
return jsonify(user)
RESTful Design
# Resource-based endpoints
# GET /users - List users
# POST /users - Create user
# GET /users/1 - Get user 1
# PUT /users/1 - Update user 1
# DELETE /users/1 - Delete user 1
Practice Problems
- Build API for blog posts (CRUD)
- Add authentication middleware
- Implement request validation
- Create pagination endpoint
- Add rate limiting to API