-
[Node.js] Node.js에서 빠르고 쉽게 API서버 만들기 - 2개발/Javascript 2019. 3. 2. 15:47
Node.js에서 쉽게 API서버 만들기 - 1
파일 구조
본격적인 작업에 앞서, 현재 프로젝트의 구조에 대해 잠깐 이야기를 하도록 하겠습니다.
현재 구조
이전에도 언급했듯이, express-generator을 통해 프로젝트를 생성하면, 라우터를 포함한 기본적인 구조와 파일을 자동으로 생성해 줍니다.
이중에서, 실질적인 웹 서버 구축에 관한 파일은 bin/www와 app.js가 담당하고 있습니다.
bin/www는 app.js에서 정의한 express에 관한 설정을 받아서 서버를 실행하게 되는데, app.js에선 어떤 설정이 되어있나 살펴봅시다 :)
app.js
app.js
app.js 에선, app.use()를 통하여, 각종 미들웨어를 추가하게 됩니다.
현재 프로젝트에선, app.use('/', indexRouter); 를 통해,
'/' 요청이 왔을 때에는, indexRouter로 가도록 설정이 되어있습니다.
위의 코드에서, indexRouter는 routes/index를 의미하므로, routes/index.js를 보도록 하겠습니다 :)
routes/index.js
index.js
현재 index.js에선, router.get() 을 통해 '/'로 get방식의 요청이 왔을 때, render함수로 응답을 해주도록 되어있습니다.
그러나, 우리는 API서버 구축이 목적이므로,
res.status().json()
함수를 이용하도록 하겠습니다!res.status('HTTP 상태 코드').json('json데이터')
status()의 괄호 안에는, 응답하고자 하는 HTTP 상태 코드를,
json()의 괄호 안에는, 응답하고자 하는 json형식을 입력해주면 됩니다!
router.get('/', function(req, res) {
res.status(200).json(
{
"success" : true
}
);
});저는 간단하게, 정상적인 상태를 나타내는 200 코드와 함께, "success" : true를 응답하도록 해보겠습니다.
여기까지, 첫 번째 API를 테스트 할 준비가 다 되었습니다.
Postman으로 테스트
이제, 그동안 작성한 코드를,
npm start
를 통해 서버를 구동시켜서, 정상 작동을 확인해보겠습니다.API를 테스트하는 방법은 많이 있지만, 이 포스팅에서는 Postman 을 이용합니다.
Postman 다운로드
'/' 으로 GET 요청이 왔을 때, 응답을 해주는 코드를 작성했으므로.
npm start
을 통해 서버를 실행한 후, Postman 에서 localhost:3000/ 에 GET 요청을 보내봅시다!요청 메소드와 url을 입력 후, Send로 테스트를 해볼 수 있습니다!
요청 결과
위처럼, 정상 작동하는 것을 확인해볼 수 있습니다!
새로운 API 만들기
다른 API를 추가하는 방법은 간단합니다.
다시 해당하는 라우터에 가서, 요청 경로와 응답을 지정해주면 됩니다!
router.get('/test', function(req, res) {
res.status(200).json(
{
"message" : "test"
}
);
});'/test' 으로 GET 요청이 왔을 때, "message" : "test"를 응답하는 코드를 작성해보았습니다.
마찬가지로, Postman 에서, http://localhost:3000/test에 GET 요청을 보내보면, 정상적인 결과를 확인할 수 있습니다!
이번 포스팅에서는, express-generator를 통해 만들어진 기본 구조에서, GET방식의 API를 만들어서 Postman으로 테스트를 해보았습니다.
'개발 > Javascript' 카테고리의 다른 글
[Node.js] Node.js에서 빠르고 쉽게 API서버 만들기 - 4 (0) 2019.03.03 [Node.js] Node.js에서 빠르고 쉽게 API서버 만들기 - 3 (3) 2019.03.02 [Node.js] Node.js에서 빠르고 쉽게 API서버 만들기 - 1 (0) 2019.03.02 [Node.js] node.js 크롤링 방지 우회하기(네이버 크롤링) (0) 2018.11.19 [Node.js] node.js환경에서 웹 크롤링 하기(cheerio-httpcli) (1) 2018.11.19