반응형
블로그 페이지에 "좋아요" 를 표시해 보겠습니다.
현재는 DB에 글들이 연결되어 있지 않고 메모리에서 작동하는 방식으로 먼저 구현을 하고 나중에 DB와 연결하는 과정을 다시 해보겠습니다.
Upvoting 즉 좋아요를 구현하기 위해서 PUT request를 사용합니다. 코드는 아래와 같습니다.
server.js
import express from 'express';
// Use temporary
let articlesInfo = [{
name: 'learn-react',
upvotes: 0,
}, {
name: 'learn-node',
upvotes: 0,
}, {
name: 'mongodb',
upvotes: 0,
}]
const app = express();
app.use(express.json())
app.post('/hello', (req, res) => {
res.send(`Hello! ${req.body.name}!`);
});
app.get('/hello/:name', (req, res) => {
//const name = req.params.name;
const { name } = req.params; // object destructuring for littl bit shorter code.
res.send(`Hello ${name}!!`);
});
app.get('/hello/:name/GoodBye/:otherName', (req, res) => {
const { name, otherName } = req.params; // object destructuring for littl bit shorter code.
res.send(`Hello ${name}!! Good Bye ${otherName}!!`);
});
// upvoting put reqeust
app.put('/api/articles/:name/upvote', (req, res) => {
const { name } = req.params;
const article = articlesInfo.find(a => a.name === name);
if (article) {
article.upvotes += 1;
res.send(`The ${name} article now has ${article.upvotes} upvotes`);
} else {
res.send('That article doesn\'t exist');
}
});
app.listen(8000, () => {
console.log('Server is listening on port 8000');
});
Postman을 통해 확인한 결과입니다.
리퀘스트를 할때마다 voting 카운트가 올라갑니다.
반응형
'PROGRAMING > FULL STACK' 카테고리의 다른 글
[Back End] Adding comments (0) | 2024.03.16 |
---|---|
[Back End] Automatically updating with nodemon (0) | 2024.03.16 |
[Back End] URL parameters in Express (0) | 2024.03.12 |
[Back End] Post request with JSON data (0) | 2024.03.09 |
[Back End] Testing an Express server with Postman (0) | 2024.03.09 |