2024-09-13 CH-3 개인과제 (아이템 시뮬레이터 구현) 도전기능 3-1

MOON·2024년 9월 12일
0

내일배움캠프 과제

목록 보기
5/36

구현에 앞서 도전기능을 알아 보겠습니다.

1. 아이템 구입 API → (JWT 인증 필요)

  • 캐릭터가 가진 money로 아이템을 구매하여 money감소
  • 캐릭터의 ID를 URL의 parameter로 전달하고, 구입하고 싶은 아이템의 코드와 수량은 body로 전달
  • 구입 성공 시 인벤토리에 아이템 생성, response는 캐릭터의 money를 반환해줍니다.

2. 아이템 판매 API → (JWT 인증 필요)

  • 인벤토리에 아이템들을 판매하는 API
  • 아이템을 팔면 아이템 원가의 60% 가격으로 정산 money에 적용합니다.
  • 캐릭터의 ID를 URL의 parameter로 전달하고, 판매하고 싶은 아이템의 코드와 수량은 body로 전달합니다.
  • reponse는 변경된 게임 머니 잔액을 반환합니다.

3. 캐릭터가 보유한 인벤토리 내 아이템 목록 조회 API → (JWT 인증 필요)

  • 인벤토리 목록을 조회할 내 캐릭터의 ID를 URI의 parameter로 전달 받습니다.
  • 한 아이템 목록마다 itemCode, itemName, count(아이템 갯수)를 반환합니다.

4. 캐릭터가 장착한 아이템 목록 조회 API

  • 장착된 아이템 목록을 조회할 아무 캐릭터의 ID를 URI의 parameter로 전달 받습니다.
  • 장착된 아이템의 목록마다 itemCode, itemName을 반환합니다.

5. 아이템 장착 API → (JWT 인증 필요)

  • 아이템을 장착할 내 캐릭터의 ID를 URI의 parameter로 전달 받습니다.
  • 장착할 아이템 코드를 request에서 전달 받습니다.
    • 현재 캐릭터 인벤토리에 존재하지 않는 아이템이 아니라면 없는 아이템이라고 장착이 거부되어야 합니다!
    • 이 때, 이미 장착한 아이템(아이템 코드 기반으로 구분할 수 있겠죠)을 또 장착하려고 하면 이미 장착된 아이템이라고 장착이 거부되어야 합니다!
      • 아이템 코드가 같은 아이템이 다수 인벤토리에 있어도 장착은 1개만 합니다.
  • 아이템 장착시 아이템의 스탯만큼 캐릭터의 스탯이 올라갑니다.

6. 아이템 탈착 API → (JWT 인증 필요)

  • 아이템을 장착할 내 캐릭터의 ID를 URI의 parameter로 전달 받습니다.
  • 탈착할 아이템 코드를 request에서 전달 받기
  • 매우 중요: 아이템 탈착을 하게 되면 아이템의 스탯만큼 캐릭터의 스탯이 떨어집니다.
  • 또한, 캐릭터-장착 아이템 테이블에서 해당 아이템 정보를 삭제해야 됩니다.
  • 캐릭터-인벤토리 테이블에서 해당 아이템 정보는 변경 혹은 추가가 해야 합니다. 탈착했으니 갯수가 늘어난다던가, 탈착했으니 인벤토리에 아이템이 없어 갯수가 0개에서 1개로 될때 인벤토리 테이블에서 아이템을 새롭게 생성해 준다거나 해야 될 것 같습니다.

7. 게임 머니를 버는 API → (JWT 인증 필요)

  • 돈을 벌 내 캐릭터의 ID를 URI의 parameter로 전달 받기만 하면 해당 캐릭터의 잔액 게임 머니를 100원씩 늘려주고 response로 변경된 잔액 게임 머니를 반환해줍니다.

오우 그래도 강의 내용을 잘 찾아보면 다 구현할 수 있을 것 같습니다.
지금도 화이팅!

profile
안녕하세요

0개의 댓글