0
0
FastAPIframework~30 mins

Why routing organizes endpoints in FastAPI - See It in Action

Choose your learning style9 modes available
Why routing organizes endpoints
📖 Scenario: You are building a simple web API for a bookstore. You want to organize your code so that different parts of the API handle different tasks clearly and neatly.
🎯 Goal: Build a FastAPI app that uses routing to organize endpoints for books and authors separately.
📋 What You'll Learn
Create a FastAPI app instance called app
Create two routers: books_router and authors_router
Add one GET endpoint to books_router at path /books/ that returns a list of book titles
Add one GET endpoint to authors_router at path /authors/ that returns a list of author names
Include both routers in the main app with prefixes /books and /authors respectively
💡 Why This Matters
🌍 Real World
Web APIs often have many endpoints. Routing helps keep code organized and scalable.
💼 Career
Understanding routing is essential for backend developers building APIs with FastAPI or similar frameworks.
Progress0 / 4 steps
1
Create the FastAPI app and routers
Import FastAPI and APIRouter from fastapi. Create a FastAPI app instance called app. Create two routers called books_router and authors_router using APIRouter().
FastAPI
Need a hint?

Use app = FastAPI() to create the app. Use APIRouter() to create routers.

2
Add GET endpoint to books_router
Add a GET endpoint to books_router at path /books/ that returns a list of book titles: ["The Hobbit", "1984", "Pride and Prejudice"]. Use the decorator @books_router.get("/") and define a function called get_books.
FastAPI
Need a hint?

Use @books_router.get("/") to create the endpoint. Return the exact list of book titles.

3
Add GET endpoint to authors_router
Add a GET endpoint to authors_router at path /authors/ that returns a list of author names: ["J.R.R. Tolkien", "George Orwell", "Jane Austen"]. Use the decorator @authors_router.get("/") and define a function called get_authors.
FastAPI
Need a hint?

Use @authors_router.get("/") to create the endpoint. Return the exact list of author names.

4
Include routers in the main app with prefixes
Include books_router in app with prefix /books. Include authors_router in app with prefix /authors. Use app.include_router() for both.
FastAPI
Need a hint?

Use app.include_router() with the correct router and prefix.