1. express-generator 설치
- Express Application Generator Tool : 사용자가 손쉽게 프로젝트를 생성할 수 있도록 도와주는 웹 애플리케이션 프레임워크
npm install -g express-generator
2. 프로젝트 생성
express node-test
![](https://velog.velcdn.com/images/krafftdj/post/ade74ccb-ad5d-4889-b511-8b18928b0251/image.png)
3. 모듈 설치
cd node-test
npm install
![](https://velog.velcdn.com/images/krafftdj/post/a4c56102-dd3e-4f59-b96b-f94f18617036/image.png)
4. 서버 실행
npm start
![](https://velog.velcdn.com/images/krafftdj/post/74fa80d3-2215-4880-a72c-9403b066325f/image.png)
5. 테스트 및 확인
![](https://velog.velcdn.com/images/krafftdj/post/0cfa58ea-8228-4794-bd65-65011b26913c/image.png)
- express를 통해 프로젝트를 생성하면 아래와 같은 구성이 생성된다.
- bin/www
웹 서버 구축에 관한 파일, 포트번호 등
- node_modules
Node.js 모듈
- public
정적 파일을 위한 폴더로서 자바스크립트 파일, 이미지 파일, CSS 등
- routes
라우팅 리소스 별로 모듈을 만들어서 라우팅 조직을 구현
클라이언트의 요청별로 어떤 로직을 수행할 지 정해놓는 파일
ex) java controller
- view
request 요청에 대한 로직을 처리한 후 클라이언트에 응답을 보낼 때 html 코드로 변환해서 반환하는 파일을 정의
- app.js
express 설정 정보가 담겨져 있는 파일
- package.json
프로젝트 이름, 버전, dependencies, 모듈 등 기술된 파일![](https://velog.velcdn.com/images/krafftdj/post/4c8c8557-a435-4c75-bccf-86999600ca47/image.png)
6. 기본페이지에 접근하기 위한 라우트 생성
기본적으로 / 로 접근했을 때 화면을(/views/index.jade) 보여주기 위해 res.render를 사용하는 것을 확인한다.
var express = require('express');
vasr router = express.Router();
router.get('/' function(req, res, next) {
res.render('index', title: 'Express'});
});
module.exports = router;
7. route에 get과 post 추가
-
router.get 추가
GET 방식 /api/get/nodejs-api
status()의 괄호 안에 응답하고자 하는 HTTP 상태 코드를 입력한다.
json() 안에 응답하고자 하는 json 형식의 데이터를 입력한다.
router.get('/api/get/nodejs-api', function(req, res){
res.status(200).json({
"message" : "hello get api nodejs-api"
});
});
- router.post 추가
POST 방식 /api/post/nodejs-api
router.post('/api/post/nodejs-api', function(req, res){
res.status(200).json({
"message" : "hello post api nodejs-api"
});
});
- index.js 전체 코드
![](https://velog.velcdn.com/images/krafftdj/post/f7a47392-cda7-4347-8f6b-dc354e1be94e/image.png)
8. 실행 중인 서버 재가동
npm start
![](https://velog.velcdn.com/images/krafftdj/post/063e06d8-c386-43d7-b346-23b73ad947d6/image.png)
- GET 방식 (/api/get/nodejs-api)
아래와 같이 서버가 작동하는 것을 확인할 수 있다.
![](https://velog.velcdn.com/images/krafftdj/post/1d3ec186-c508-4db7-a1ad-97df95f6739c/image.png)
- POST 방식 (/api/post/nodejs-api)
post는 postman을 활용하여 확인
![](https://velog.velcdn.com/images/krafftdj/post/72bd4f9d-81d3-4bd5-bbf3-4eacc453efc2/image.png)
출처 : https://velog.io/@archivvonjang/Node.js-%EA%B0%84%EB%8B%A8%ED%95%9C-API-%EC%84%9C%EB%B2%84-%EB%A7%8C%EB%93%A4%EA%B8%B0