0
0
FastAPIframework~30 mins

Path operations (GET, POST, PUT, DELETE) in FastAPI - Mini Project: Build & Apply

Choose your learning style9 modes available
Path operations (GET, POST, PUT, DELETE) with FastAPI
📖 Scenario: You are building a simple API to manage a list of books in a library. Each book has an id, title, and author. You want to allow users to get the list of books, add a new book, update an existing book, and delete a book.
🎯 Goal: Create a FastAPI app with four path operations: GET to list all books, POST to add a new book, PUT to update a book by id, and DELETE to remove a book by id.
📋 What You'll Learn
Create a list called books with initial book entries
Add a variable app as a FastAPI instance
Create a GET path operation at /books/ to return all books
Create a POST path operation at /books/ to add a new book
Create a PUT path operation at /books/{book_id} to update a book by book_id
Create a DELETE path operation at /books/{book_id} to delete a book by book_id
💡 Why This Matters
🌍 Real World
APIs like this are used in web services to manage data such as books, users, or products. Understanding path operations is essential for building RESTful APIs.
💼 Career
FastAPI is a popular framework for backend development. Knowing how to create GET, POST, PUT, and DELETE endpoints is a core skill for backend developers and API engineers.
Progress0 / 4 steps
1
Create initial book data
Create a list called books with these exact dictionaries: {'id': 1, 'title': '1984', 'author': 'George Orwell'} and {'id': 2, 'title': 'Brave New World', 'author': 'Aldous Huxley'}.
FastAPI
Need a hint?

Use a list with two dictionaries exactly as shown.

2
Create FastAPI app instance
Import FastAPI from fastapi and create a variable called app as an instance of FastAPI().
FastAPI
Need a hint?

Use from fastapi import FastAPI and then app = FastAPI().

3
Add GET and POST path operations
Add a @app.get("/books/") function called get_books that returns the books list. Then add a @app.post("/books/") function called add_book that accepts a book dictionary parameter and appends it to books.
FastAPI
Need a hint?

Use @app.get("/books/") and @app.post("/books/") decorators with functions named get_books and add_book.

4
Add PUT and DELETE path operations
Add a @app.put("/books/{book_id}") function called update_book that takes book_id and book dictionary, updates the matching book in books. Add a @app.delete("/books/{book_id}") function called delete_book that removes the book with matching book_id from books.
FastAPI
Need a hint?

Use @app.put("/books/{book_id}") and @app.delete("/books/{book_id}") with functions named update_book and delete_book. Use a for loop with enumerate to find the book by id.