Introduction
Build RESTful APIs with Flask for web services and microservices.
Basic Setup
from flask import Flask, jsonify, request
app = Flask(__name__)
@app.route("/api/health")
def health():
return jsonify({"status": "healthy"})
if __name__ == "__main__":
app.run(debug=True)
CRUD Endpoints
items = {}
@app.route("/api/items", methods=["GET"])
def get_items():
return jsonify(items)
@app.route("/api/items/<id>", methods=["GET"])
def get_item(id):
return jsonify(items.get(id, {}))
@app.route("/api/items", methods=["POST"])
def create_item():
data = request.json
id = data.get("id")
items[id] = data
return jsonify(data), 201
@app.route("/api/items/<id>", methods=["PUT"])
def update_item(id):
data = request.json
items[id] = data
return jsonify(data)
@app.route("/api/items/<id>", methods=["DELETE"])
def delete_item(id):
if id in items:
del items[id]
return "", 204
Practice Problems
- Create CRUD for resources
- Add request validation
- Implement pagination
- Add error handling
- Use Blueprint for organization