====== views/game_api.py: 미니게임 API 로직 ====== ''game_api.py''는 웹사이트에 포함된 미니게임의 서버 로직을 처리하는 **Flask 블루프린트** 모듈입니다. 게임의 결과(랭킹)를 저장하고, 플레이어들의 소감(방명록)을 관리하는 API를 제공합니다. ''url_prefix='/api/game''' 설정에 따라, 이 파일의 모든 API 주소는 ''/api/game''로 시작합니다. ---- ===== 주요 기능 및 엔드포인트 ===== ---- ==== 1. 랭킹(Ranking) API ==== * **''GET /get_rankings''** * **설명**: 데이터베이스에 저장된 모든 랭킹 정보를 조회합니다. * **정렬 기준**: 1. 점수(''score'')를 기준으로 내림차순 (높은 점수가 위로) 2. 점수가 같을 경우, 클리어 시간(''rawTime'')을 기준으로 오름차순 (짧은 시간이 위로) * **응답**: 랭킹 목록을 JSON 배열 형태로 반환합니다. * **''POST /add_ranking''** * **설명**: 새로운 게임 랭킹을 데이터베이스에 추가합니다. * **요청 본문(Body)**: ''nickname'', ''score'', ''hearts'', ''time'', ''rawTime''이 포함된 JSON 객체 * **응답**: 성공 또는 실패 상태를 JSON으로 반환합니다. ---- ==== 2. 게임 댓글(GameComment) API ==== * **''GET /get_comments''** * **설명**: 게임 방명록에 작성된 모든 댓글을 조회합니다. * **정렬 기준**: 작성 시간(''timestamp'')을 기준으로 내림차순 (최신 댓글이 위로) * **응답**: 댓글 목록을 JSON 배열 형태로 반환합니다. * **''POST /add_comment''** * **설명**: 새로운 방명록 댓글을 데이터베이스에 추가합니다. * **요청 본문(Body)**: ''author''(작성자), ''text''(내용)가 포함된 JSON 객체 * **응답**: 성공 또는 실패 상태를 JSON으로 반환합니다. 이 모듈은 ''Ranking''과 ''GameComment'' 모델을 사용하여 데이터베이스와 상호작용하며, 게임 플레이 경험을 기록하고 공유하는 핵심적인 역할을 담당합니다.