오늘 한 작업
[add] 프로젝트 초기화
1. 라이브러리 설치 및 es6 모듈 적용
2. 데이터베이스 모델링
3. 작업 베이스 파일 및 폴더 구조 설정
[add&fix] 회원가입 & 아이템류 API 구현
1. [fix] Items, Inventory, Equipment 테이블 속성 일부 수정
- itemKey와 itemCode 구분 (itemCode는 직접 입력받는 속성이기 때문!!)
- ItemKey로 relation 연결
2. [add] 회원가입 API 구현
3. [add] 아이템류 API 구현
- 생성, 수정, 목록조회, 상세조회
오늘 만난 문제 상황
Argument is missing!!
시작하기 전엔 막막하기만 하던 이번 과제. 막상 시작해보니 생소하긴 하지만 강의를 헛듣진 않았구나 생각하며 진도를 나가고 있었다! 걱정했던 것보다 데이터베이스 모델링도 빠르게 마쳤고, API 구현을 시작했는데, 오늘의 문제는 매개 경로변수를 받는 API들에서 때를 노리고 있었다...
저 itemCode는 무엇인가 하면, 아래와 같은 방식으로 할당하던 변수다...
router.get("/item/:itemCode", async(req,res,next) => {
const itemCode = req.params;
});
그리고 데이터베이스를 조회할 때, where절을 통해 요청받은 매개변수와 같은 itemCode를 가진 아이템을 조회하도록 하고 있었는데, 저 오류를 만나버렸다... 생각해보니 itemCode 컬럼의 데이터 타입은 int였고, 경로 매개변수는 문자형이라서 그런가 하고 형 변환을 시도해봤다. 하지만 문제는 여전했고, 원인을 찾기 위해 경로 매개변수가 어떤 형태를 갖고 있는지 확인해보기로 했다!
나만 몰랐던 매개변수의 정체는 객체였다..... 강의를 역시 헛들은 게 맞는 것이었던 것이었다... 그렇담 얘기가 빠르지... 지금껏 나는 while 절에게 숫자와 객체를 비교시키는 몹쓸 짓을 하고 있었다... 그럼 원하는 값인 "301"만 뽑아서 숫자형으로 형 변환시켜주면 문제가 해결될 듯 싶었다?!
응 해결됐다. 반전은 없었다!! 역시 사람은 오류를 통해 공부를 하는 거 같다! 그리고 오류는 항상 복잡한 원인 보다는 자료형이나 연산 특성 등등 기본적인 곳에서 오는 것 같다. 기초 튼튼 세상 중요한 것이다!!
'TIL&WIL' 카테고리의 다른 글
241128 TIL - 개인과제03 (1) | 2024.11.29 |
---|---|
241127 TIL - 개인과제02 (0) | 2024.11.27 |
241125 TIL - JWT (0) | 2024.11.25 |
241122 TIL - ORM과 ODM 비교, ERD, STREAM과 BUFFER (0) | 2024.11.22 |
241121 TIL - for...in과 for...of 그리고 둘의 차이 (0) | 2024.11.21 |