Dev.J
[REST API] Node.js로 Rest API 제작하기 - 1회차 본문
동아리에서 서버 파트로 활동하면서 2주차째 세미나를 진행 중인데 확실히 처음 접하는 파트이다 보니 어렵고 익숙하지 않은 점이 많았다. 또 앞으로 api를 제작할 일이 많은 것으로 알고 있는데 그때 가서 허겁지겁 따라만 가기에도 바쁠 상상을 하니 이렇게는 안 되겠다 싶어 미리 연습할 겸 이렇게 Rest API를 제작해보고자 한다. 강의보고 따라 치는 것뿐일 수 있지만 익숙해진다는 거 만으로도 이 시간이 헛된 시간은 아닐거라 생각한다.
처음엔 'API'에 대한 개념이 확실히 잡히지 않아 노마드코더 등 유튜브 채널을 통해 대략적인 이해를 하고 강의를 따라가기 시작하였다.
여기서 염두해둘 REST API 제작 tip
1) URL에서 동사 사용하지 않기 => 대신 HTTP methods를 활용해 인터렉션할 것(GET, POST, PUT, DELETE)
2) 컬렉션 사용하기 (ex. movies, inception (총 두 가지 URL - /movies, /movies/inception))
3) Nouns + HTTP methods 방식 사용 => URL을 바꾸지 않고 다양한 동작 가능 ex) GET /movies/inception : 인셉션 영화 정보 열람
일단은 강의를 따라가며 익숙해진 후 내가 원하는 기능을 추가해볼 생각이다.
[2021.10.14 ~ 2021.10.15]
Rest api - get, post 메서드 구현 (서버에서 json 파일을 받을 수 있는 것 확인)
- post man 사용 : POST, DELETE 등을 코드를 일일이 작성하지 않고도 서버에서 잘 작동이 되는지 확인 가능
- post 메서드 사용 이유 : 예를 들어 유저 비밀번호는 실제 링크로 노출이 되면 안 되기 때문에 get 대신 사용. URL에 데이터가 포함되지 않아 안전하게 데이터를 이용해서 보낼 수 있음
- post man에서 head & body 설정 : 현재 POST 메서드를 사용할 때 보내는 데이터는 json 포맷이다 라는걸 서버에 알려주는 것.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
const express = require('express');
//bodyParser : 현재 있는 데이터들을 제이슨 포멧으로 읽을 수 있게 도와주는 것
const bodyParser = require('body-parser');
const server = express();
//bodyParser을 사용 가능하게 해줌.
server.use(bodyParser.json());
// 2. array를 사용해서 간단한 두 유저 생성
const users = [
{
id:"qwer",
name:"Jacky",
email:"jacky12@gmail.com",
},
{
id:"asdf",
name:"Lucy",
email:"lucy34@gmail.com",
}
];
// 3. 엔드 포인트 만들기(서버에서 클라이언트로 보내기)
// /api/user 요청이 온 경우 응답으로 제이슨 포멧의 유저들 데이터를 불러옴
server.get('/api/user',(req,res)=>{
res.json(users);
});
server.post("/api/user", (req,res) =>{
users.push(req.body); //body로 받은 object를 users 데이터에 추가
res.json(users);
});
// 1. 서버를 듣기위해
server.listen(3000,()=>{
console.log('The server is running');
});
// 2021.10.14 - 오류 구글링 : Cannot GET / 이 뜨는건 Router를 정의하지 않았기 때문이다
// 2021.10.15 해결 - 터미널에 npm start를 쳐줘야 홈페이지에서 제대로 뜸
|
cs |


[참고한 API 제작 영상]
https://www.youtube.com/watch?v=HjWYK_ORW0w&list=PLHGvDasahwZNIJ0aZQIhrf1Tg7Djqk7VQ&index=1
'Programming > Node.js' 카테고리의 다른 글
[REST API] Node.js로 Rest API 제작하기 - 2회차 (0) | 2021.10.20 |
---|