사용자 도구

사이트 도구


wiki:it:dream_of_enc:backend:game_api

문서의 이전 판입니다!


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` 모델을 사용하여 데이터베이스와 상호작용하며, 게임 플레이 경험을 기록하고 공유하는 핵심적인 역할을 담당합니다.

wiki/it/dream_of_enc/backend/game_api.1753857794.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki