Node.js와 Express로 간단한 REST API를 만들어보려고 합니다. CRUD 기본 구조를 어떻게 잡아야 하는지 감이 안 옵니다. PHP만 하다가 Node.js는 처음인데, 기본적인 구조와 예제를 알려주시면 감사하겠습니다. npm으로 express를 설치한 상태입니다.
댓글 5
```javascript
const express = require('express');
const app = express();
app.use(express.json());
let items = [];
let nextId = 1;
// CREATE
app.post('/api/items', (req, res) => {
const item = { id: nextId++, ...req.body };
items.push(item);
res.status(201).json(item);
});
// READ ALL
app.get('/api/items', (req, res) => {
res.json(items);
});
// READ ONE
app.get('/api/items/:id', (req, res) => {
const item = items.find(i => i.id === parseInt(req.params.id));
if (!item) return res.status(404).json({error: 'Not found'});
res.json(item);
});
// UPDATE
app.put('/api/items/:id', (req, res) => {
const item = items.find(i => i.id === parseInt(req.params.id));
if (!item) return res.status(404).json({error: 'Not found'});
Object.assign(item, req.body);
res.json(item);
});
// DELETE
app.delete('/api/items/:id', (req, res) => {
items = items.filter(i => i.id !== parseInt(req.params.id));
res.status(204).send();
});
app.listen(3000, () => console.log('Server running on port 3000'));
```
실무에서는 라우터를 분리하고, 컨트롤러 패턴을 사용합니다.
```bash
npm install body-parser
```