-
Node.js | 초간단 API 서버 만들기 - 2▼ Backend/노드JS (Node.js) 2021. 7. 6. 15:41반응형
express를 통해 프로젝트를 생성하면 다음과 같은 구성으로 생성된다.
bin/www
웹 서버 구축에 관한 파일, 포트번호 등
node_modules
Node.js 모듈
public
정적 파일을 위한 폴더로서 자바스크립트 파일, 이미지 파일, CSS 등을 포함
routes
라우팅 리소스 별로 모듈을 만들어 라우팅 로직을 구현
클라이언트에서 요청 별로 어떤 로직을 수행할지 정해놓은 파일 (java - Controller 역할)
views
request 요청에 대한 로직을 처리한 후 클라이언트에 응답을 보낼 때 html 코드로 변환해서 반환하는 파일을 정의한 폴더
app.js
express 설정 정보가 담겨있는 파일
package.json
프로그램 이름, 버전, 모듈 등 기술routes/index.js
기본적으로 /로 접근한 경우 화면(/views/index.jade)을 보여주기 위해
res.render를 사용하고 있는 걸 확인할 수 있다.var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); module.exports = router;
1. router.get 추가 (/api/get/demo - GET 방식)
status()의 괄호 안에는 응답하고자 하는 HTTP 상태 코드 입력
json()의 괄호 안에는 응답하고자 하는 json형식의 데이터 입력router.get('/api/get/demo', function(req, res) { res.status(200).json({ "message" : "call get api demo" }); });
2. router.post 추가 (/api/post/demo - POST 방식)
router.post('/api/post/demo', function(req, res) { res.status(200).json({ "message" : "call post api demo" }); });
전체 코드 (routes/index.js)
var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); router.get('/api/get/demo', function(req, res) { res.status(200).json({ "message" : "call get api demo" }); }); router.post('/api/post/demo', function(req, res) { res.status(200).json({ "message" : "call post api demo" }); }); module.exports = router;
3. 구동 중인 서버 종료 후 재시작
화면의 파일들을 수정하면 바로 적용되지만,
서버단의 소스는 구동 중인 시스템을 재시작하여야 한다.
(이 번거로움을 덜어주는 nodemon 모듈을 다음에 다뤄보도록 한다.)결과
http://localhost:3000/api/get/demopost 방식의 경우 Postman을 이용하여 테스트한다.
https://kitty-geno.tistory.com/64포스트맨(Postman) 설치 및 사용법
1. Postman 설치 Postman 이란? API 개발을 빠르고 쉽게 사용하기 위한 테스트 툴 https://www.postman.com/downloads/ 2. 회원가입 또는 로그인 3. Workspaces > My Workspaces 4. 요청 방식, 요청 URL, 입력..
kitty-geno.tistory.com
반응형'▼ Backend > 노드JS (Node.js)' 카테고리의 다른 글
Node.js | Express + MariaDB 연동하기 (DB연동, CRUD) (2) 2021.07.08 Node.js | 초간단 API 서버 만들기 - 1 (0) 2021.07.06 Node.js | 윈도우 Node.js 설치하기 (0) 2021.07.06