CRUD 를 만들 것이다.
01. READ
고양이 전체 데이터 조회
//* READ 고양이 전체 데이터 다 조회
app.get('/cats', (req, res)=> {
try{
const cats = Cat;
res.status(200).send({
success:true,
data: {
cats,
},
});
}
catch(error){
res.status(400).send({
success: false,
error:error.message,
});
}
})
위와 같이 작성한다.
특이한 점이라면
- res.status를 사용하여 상태코드를 넘길 수 있다는 것
- 에러 핸들링을 위한 catch의 사용
고양이 특정 데이터 조회
동적 라우팅
//* READ 특정 고양이 데이터 조회
app.get('/cats/:id', (req, res) => {
try {
const params = req.params;
console.log(params);
const cats = Cat.find(cat => {
return cat.id == params.id;
});
res.status(200).send({
success: true,
data: {
cats,
},
});
} catch (error) {
res.status(400).send({
success: false,
error: error.message,
});
}
});
동적 라우팅을 위해 : 를 사용한다.
/cats/:id 와 같이 사용하면
params.id 로 접근을 할 수 있고
해당 데이터에 맞게 가져와서 전달해주면 된다.
02. CREATE
회원가입, 새로운 고양이 추가 API
추가 될 데이터를 지정해주는 것이 필요하다.
{
"name" : "yellow",
"age": 3,
"species": "Sharm",
"isCute": true,
"friends": []
}
근데 위와 같이 보낸 후
//* CREATE 새로운 고양이 추가 API
app.post('/cats', (req, res) => {
try {
const data = req.body;
console.log(data);
res.status(200).send({
success: true,
data: {},
});
} catch (error) {
res.status(400).send({
success: false,
error: error.message,
});
}
});
위와 같이 요청을 하면 data를 못가져오는 것을 보게 된다.
이는 Express 에서 json을 읽을 수 있도록 parse 할 수 있도록 middleware를 추가해줘야 한다.
//* json middleware
app.use(express.json());
위와 같이 사용하면 된다.