REST API itu backbone dari hampir semua aplikasi modern. Di tutorial ini aku bakal jelasin cara bikin dari nol.
Setup Project mkdir my-api && cd my-api npm init -y npm install express dotenv cors helmet morgan Basic Server const express = require('express'); const app = express(); const PORT = process.env.PORT || 3000; app.use(express.json()); app.get('/', (req, res) => { res.json({ message: 'API is running!' }); }); app.listen(PORT, () => { console.log(`Server running on port ${PORT}`); }); CRUD Operations // GET all app.get('/api/users', (req, res) => { res.json(users); }); // GET single app.get('/api/users/:id', (req, res) => { const user = users.find(u => u.id === parseInt(req.params.id)); if (!user) return res.status(404).json({ error: 'Not found' }); res.json(user); }); // POST create app.post('/api/users', (req, res) => { const newUser = { id: nextId++, ...req.body }; users.push(newUser); res.status(201).json(newUser); }); // PUT update app.put('/api/users/:id', (req, res) => { const index = users.findIndex(u => u.id === parseInt(req.params.id)); if (index === -1) return res.status(404).json({ error: 'Not found' }); users[index] = { ...users[index], ...req.body }; res.json(users[index]); }); // DELETE app.delete('/api/users/:id', (req, res) => { const index = users.findIndex(u => u.id === parseInt(req.params.id)); if (index === -1) return res.status(404).json({ error: 'Not found' }); users.splice(index, 1); res.status(204).send(); }); Best Practices Versioning - /api/v1/users Pagination - ?page=1&limit=10 Error handling Input validation Rate limiting Conclusion Dalam 1 jam, kamu udah punya REST API yang functional.
...