This example shows a simple server with users data. PUT replaces the whole user info except the id. PATCH changes only the fields sent in the request.
import express from 'express';
const app = express();
app.use(express.json());
let users = [
{ id: '1', name: 'Alice', age: 25 },
{ id: '2', name: 'Bob', age: 30 }
];
// PUT replaces entire user
app.put('/users/:id', (req, res) => {
const { id } = req.params;
const index = users.findIndex(u => u.id === id);
if (index === -1) {
return res.status(404).send('User not found');
}
// Replace whole user data, keep id same
users[index] = { id, ...req.body };
res.send(users[index]);
});
// PATCH updates parts of user
app.patch('/users/:id', (req, res) => {
const { id } = req.params;
const user = users.find(u => u.id === id);
if (!user) {
return res.status(404).send('User not found');
}
// Update only given fields
Object.assign(user, req.body);
res.send(user);
});
app.listen(3000, () => console.log('Server running on port 3000'));