[4주차 05] RestApi + express 구조 뜯어보기

개발냥이·2025년 2월 14일

데브코스

목록 보기
14/75

map 자료구조를 이용한 RestApi

  1. 임시 객체(데이터)를 만들기
let youtuber1 = {
  channelTitle: '십오야',
  sub: 7000000,
  vidoNum: 1000,
};
let youtuber2 = {
  channelTitle: '침착맨',
  sub: 3000000,
  vidoNum: 7000,
};
let youtuber3 = {
  channelTitle: 'Teo',
  sub: 2500000,
  vidoNum: 1600,
};
  1. Map 자료구조에 값 할당
let db = new Map();
db.set(1, youtuber1);
db.set(2, youtuber2);
db.set(3, youtuber3);
  1. RestApi를 통한 통신
app.get('/youtuber/:id', (req, res) => {
  let {id} = req.params;
  id = Number(id);
  const youtuber = db.get(id);
  if (youtuber === undefined) {
    res.json({message: '없습니다'});
  } else {
    res.json(youtuber);
  }
});

extra) JS의 함수 종류

  1. 일반 함수
function sum(a,b){
	return a+b
}
  1. 변수에 할당
const sum2 = function sum(a,b){
	return a+b
}
  1. 화살표 함수
const sum3 = (a,b) => {
	return a+b
}
  1. 화살표 함수 더 축약

const sum3 = (a,b) => a+b

모양은 다 다르지만 결국엔 같은 값을 반환


express 구조 (with Express Generator)

  • Express Generator란?
    - 애플리케이션을 신속하게 생성할 수 있도록 도와주는 도구
    • npm i express-generator
    • express 후 사용할 수 있음
  • express 구조

express/
├── bin/
│ └── www
├── public/
│ ├── stylesheets/
│ └── javascripts/
├── routes/
│ ├── index.js
│ └── users.js
├── views/
│ ├── error.pug
│ ├── index.pug
│ └── layout.pug
├── app.js
├── package.json
└── README.md

  • bin/www
    • 모듈의 호출하는 곳!!
    • app , debug , http , port 등등 서버를 시작하기 위한 모듈들이 담겨 있다
  • app.js
    • 핵심 모듈들의 모듈화
    • express , path , router 등등을 사용하고 이를 다른 곳에서 사용할 수 있도록 모듈화를 하는 곳이다
  • public

    • 정적 파일(변하지 않는 값)이 담겨 있다
  • routes/

    • 파일들의 경로가 담겨 있다
    • ex) '/' : home 페이지
  • views/

    • 화면에 보여지는 파일들이 담겨있다
  • package.json

    • 프로젝트에 대한 정보 및 설치 파일들이 담겨있다.
profile
웹 개발자가 되고픈

0개의 댓글