0
0
Expressframework~30 mins

HTTP methods for CRUD operations in Express - Mini Project: Build & Apply

Choose your learning style9 modes available
HTTP methods for CRUD operations
📖 Scenario: You are building a simple Express server to manage a list of books. Each book has an id and a title. You want to allow users to create, read, update, and delete books using HTTP methods.
🎯 Goal: Create an Express app that supports CRUD operations on a books array using the correct HTTP methods: GET, POST, PUT, and DELETE.
📋 What You'll Learn
Create an array called books with two book objects having id and title.
Add a variable called nextId to track the next book ID.
Create a GET route at /books to return all books.
Create a POST route at /books to add a new book with a unique id.
Create a PUT route at /books/:id to update the title of a book by id.
Create a DELETE route at /books/:id to remove a book by id.
💡 Why This Matters
🌍 Real World
Web servers often use HTTP methods to manage data resources like users, products, or posts. This project shows how to build a simple API for managing books.
💼 Career
Understanding HTTP methods and Express routing is essential for backend web development jobs, API design, and full-stack roles.
Progress0 / 4 steps
1
Create the initial books array
Create an array called books with two objects: { id: 1, title: '1984' } and { id: 2, title: 'Brave New World' }.
Express
Need a hint?

Use const books = [ ... ] with two objects inside.

2
Add a nextId variable
Add a variable called nextId and set it to 3 to track the next book ID.
Express
Need a hint?

Use let nextId = 3; to allow incrementing later.

3
Create GET and POST routes
Create a GET route at /books that sends the books array as JSON. Then create a POST route at /books that adds a new book with a unique id from nextId and increments nextId. Use req.body.title for the new book's title.
Express
Need a hint?

Use app.get('/books', (req, res) => { res.json(books); }) and app.post('/books', (req, res) => { ... }).

4
Create PUT and DELETE routes
Create a PUT route at /books/:id that updates the title of the book with the matching id from req.params.id. Then create a DELETE route at /books/:id that removes the book with the matching id. Use res.status(204).end() after deletion.
Express
Need a hint?

Use app.put('/books/:id', ...) to find and update the book, and app.delete('/books/:id', ...) to remove it.