[DevCamp] Express와 API 테스트

동건·2025년 2월 13일
0

DevCamp

목록 보기
12/85

Express와 API 테스트

오늘은 express 를 사용하여 간단하게 api 를 만들고 테스트를 진행해보았다.


1. API 엔드포인트 작성

const express = require('express');
const app = express();

app.listen(3000);

app.get('/products/:n', function(req, res){
    // URL에서 전달된 매개변수 n을 숫자로 변환
    let number = parseInt(req.params.n) - 10;
    console.log(number);

    res.json({
        num : number
    });
});

파라미터가 어떤 타입으로 반환되는지 확인하기 위해
실습한 demo 코드이다.


2. Query Parameter 연습 - 유튜브 영상 URL 예제

app.get('/watch', function(req, res){
    const { v, t } = req.query;
    console.log(v);
    console.log(t);

    res.json({
        video: v,
        timeline: t
    });
});

유튜브 링크를 활용해
v(영상 ID)와 t(시간)을 추출하여 JSON 형태로 반환해보는 실습을 해봤다.


3. JavaScript의 Map 객체

Map이란?

간단하게 Map이란

JavaScript의 Map 객체는 Key-Value 형태로 데이터를 저장하는 자료구조이다.

특징

  • 키의 순서를 유지한다.
  • 키 타입이 string 뿐만 아니라 number, object 도 가능하다.
  • get(), set() 메서드를 이용해 값을 저장하고 가져올 수 있다.

4. Express + Map 활용

const express = require('express');
const app = express();
app.listen(3000);

app.get('/', function (req, res) {
    res.send('Hello World');
});

app.get('/:id', function (req, res) {
    let { id } = req.params;
    id = parseInt(id);
    console.log(id);
    console.log(db.get(id));

    if (db.get(id) === undefined){
        res.json({
            message: "없는 상품입니다."
        });
    }else{
        res.json({
            id: id,
            productName : db.get(id)
        });
    }
});

// 상품 데이터 저장
let db = new Map();
db.set(1, "NoteBook");
db.set(2, "Cup");
db.set(3, "Chair");

map 객체를 사용해 상품 테이터를 저장하고,
요청된 상품 ID에 해당하는 데이터를 반환하는 api를 만들어보는 실습을 진행했다.

이렇게 정상적으로 데이터를 불러올 수 있다.

TIL

내 손으로 처음 api 를 만들어보면서
데이터도 불러와봤다.

기존에 map 을 알고는 있었지만 이렇게 사용하는지 알았다.

사용을 하면서 어떤 코드에 어떤 방식으로
오늘 배운 방법을 사용할 지에 대해 고민해보는 시간이였다.

profile
배고픈 개발자

0개의 댓글