- 아이템 시뮬레이터란?
- 게임 클라이언트에 접속을 할 수 없을 때 현재 나의 게임 아이템 상황 및 다른 사람들의 게임 아이템 상황이 어느정도 갖춰졌는지 볼 수 있도록 정보를 제공하는 서비스

package-lock.json, yarn.lock이 동시에 있으면 안됩니다. (의도와 다른 동작을 일으킬 수 있습니다.)require/exports와 import/export가 동시에 있으면 안됩니다.
- 먼저 위와같은 파일들을 통해 중요 프로젝트 파일들을 보호하고 일정한 코드 포맷팅이 유지 되도록 하자.
Request의 Authorization 헤더에서 JWT를 가져와서 인증 된 사용자인지 확인하는 Middleware를 구현합니다.
인증에 실패하는 경우에는 알맞은 Http Status Code와 에러 메세지를 반환 해야 합니다.
인증에 성공하는 경우에는 req.locals.user와 같은 곳에 인증 사용자 정보를 담고, 다음 동작을 진행합니다.
API에서 (JWT 인증 필요)라고 마킹된 부분은 반드시 해당 인증 미들웨어를 거쳐야하니 참고해주세요!
먼저 아이템 테이블을 만들어 보기로 했다. aws rds 에서 데이터베이스를 만들어준뒤
.env파일을 통해 현재 vscode 파일에 연동해주자.
그다음 prisma 파일의 schema.prisma 파일에 아이템 테이블을 위한 요소들을 입력해준뒤
npx prisma db push를 통해 데이터베이스에 넣어주자
그럼 아래와 같이 테이블안에 요소들이 들어온 모습을 확인할 수 있다.
아이템 코드(itemCode), 아이템 명(itemName), 공격력(atk) 및 아이템 가격(price)을 request에서 전달 받아보자. 이 때, 아이템 능력은 JSON 포맷으로 전달한다. 먼저 아래와 같이 vscode에서 아이템 생성 api 에 필요한 코드들을 입력해준다.
그 다음 insomnia 를 통해 아래와 같이 body 에 json 형태로 아이템 요소들을 입력해주면아래처럼 정상적으로 itemCode: 5, 파멸의 창이라는 공격력 140에 1400원 가격의 아이템이 생성된 모습을 확인 할 수 있다.
아이템 수정은 생성에서 사용한 POST 대신 수정이 가능한 PUT을 사용하였다. Where 절의 itemCode를 이용해 검색한 뒤, data의 요소들을 수정하는 것이다.
itemCode 가 5였던 파멸의 창을 공격력이 160에 가격(price)이 1600원인 파멸의 삼지창으로 바꾸어 보자.
그러면 마찬가지로 아래처럼 수정되었다는 메세지와 함께 변경된 모습을 확인할 수 있다.
전체 아이템 목록을 조회하는 법은 가장 간단하다. GET과 findMany 를 통해 전체 아이템 목록을 조회 할 수있다.
위 코드를 vscode에 입력해준뒤 insomnia로 돌아와 GET을 통해 URL을 검색해주면
아래처럼 지금 까지 내가 생성한 아이템 목록들이 코드번호 순서대로 나열하게 된다.
마지막으로 아이템 상세 조회를 해보자. 특정 아이템 조회도 마찬가지로 GET을 통해 Where절의 itemCode로 검색하는 방법이다.
insomnia로 들어가 GET에서 URL을 입력해준뒤 마지막에 몇번째 코드의 아이템을 조회할 것인지 입력해주면 된다.
1번째 아이템 코드로 조회 하면 아래처럼 파멸의 단검 아이템이 조회되는 모습을 볼 수 있따.
오늘은 아이템 테이블과 아이템 생성 , 수정 , 조회 API들을 구현해 보았다. 다음에는 비슷한 방법으로 JWT를 이용해 캐릭터 생성을 해보도록 하자.