Map 자료구조를 이용하여 get 메소드를 공부하던 중 각각 특정 데이터(하나씩)는 조회가 잘 되었지만 전체 데이터는 조회가 되지 않은 오류 가 발생했다 ㅠㅠ
// 데이터 세팅
let youtuber1 = {
channelTitle: '십오야',
sub: 7000000,
videoNum: 1000,
};
let youtuber2 = {
channelTitle: '침착맨',
sub: 3000000,
videoNum: 7000,
};
let youtuber3 = {
channelTitle: 'Teo',
sub: 2500000,
videoNum: 1600,
};
let db = new Map();
var id = 1;
db.set(id, youtuber1);
db.set(++id, youtuber2);
db.set(++id, youtuber3);
이런식으로 먼저 데이터를 Map 자료구조를 이용하여 데이터를 세팅했다.
app.get('/youtubers', (req, res) => {
res.json(db);
});
여기서 get 메소드로 전체 데이터를 조회하는 api를 작성했으나...

포스트맨으로 테스트 과정에서 오류도 안뜨고 아무것도 조회가 되지 않았다 ㅜㅜ
오류는 나지 않았기에 가져오는 부분에서 문제가 있을거라 생각했고 api 응답부분에서
res.json(db); => res.json(db.get());
으로 사용해보았으나 여전히 아무것도 조회가 되질않았다 ㅠㅠ
그런던 중 get안에 id값을 넣었더니 res.json(db.get(id))
특정 데이터만 조회되는 것을 보고
Map.get()은 특정 데이터만 조회 한다는 것을 알게 되었다.
어떻게 하면 특정 데이터가 아닌 전체 데이터를 가져올 수 있을까 서치하던 중 Array.from()을 알게 되었다 이 메소드는 이름처럼 배열로 변환해주는 메소드이다
const showData = Array.from(db);
res.json(showData);

이제 등록해두었던 데이터들이 잘 조회가 된다!!
API로 통신하는 과정에서 자료구조와 데이터의 형태가 중요하다는 것을 깨달았다.
특정 데이터를 하나씩 조회하는 것은 잘 되었기에 이런 오류는 예상하지 못했었는데 이런 오류가 발생하여 하나 배워가게 된 거 같다 👍👍