Skip to content

API Docs ‐ Favorite

niireymik edited this page Jun 3, 2024 · 10 revisions

API Documentation

  • Host
    • http://43.201.78.161:8080/
    • https://api.favorite.play-tino.com

Endpoints

1.Get All Favorite

- 게임 시작시 사진 16개 전송

- gameId 생략 가능 -> 새로고침시 예외처리

  • Endpoint: /favorite/start/user/{userId}?gameId=
  • Method: GET
  • Request: None
  • Response:
    • gameId: UUID (unique)
    • favoriteList: Favorite (favoriteId, favoriteImage, favoriteTitle)
      • favoriteId: UUID (unique)
      • favoriteImage: String (url)
      • favoriteTitle: String
  • Response Example:
[
   {
      "gameId": "f84d08e0-96d2-4f32-9a51-04144248e202",
      "favoriteList":  [
          {
              "favoriteId": "f84d08e0-96d2-4f32-9a51-04144248e202",
              "favoriteImage": "https://cdn.pixabay.com/photo/2016/03/31/19/58/avatar-1295429_960_720.png",
              "favoriteTitle": "메롱 고양이"
          },
          {
              "favoriteId": "f84d08e0-96d2-4f32-9a51-04144248e202",
              "favoriteImage": "https://cdn.pixabay.com/photo/2016/03/31/19/58/avatar-1295429_960_720.png",
              "favoriteTitle": "성준 고양이"
          }
     ]
  }
]

2. Save Rank

- 게임 결과 저장

  • Endpoint: /favorite/rank
  • Method: POST
  • Request:
    • gameId: UUID (unique)
    • favoriteId: UUID (unique)
  • Request Example:
{
    "gameId": "f84d08e0-96d2-4f32-9a51-04144248e202",
    "favoriteId": "f84d08e0-96d2-4f32-9a51-04144248e202"
}
  • Response:
    • success: boolean
  • Response Example:
{
    "success" : true
}

3. Get All Rank

- 랭킹 전체 조회

  • Endpoint: /favorite/rank/all?page=
  • Method: GET
  • Request: None
  • Response:
    • favoriteRankTotal: Integer
    • rankList : Favorite (favoriteId, favoriteImage, favoriteTitle, favoriteRankCountm, favoriteRankPercentage)
      • favoriteId: UUID (unique)
      • favoriteImage: String (url)
      • favoriteTitle: String
      • favoriteRankCount: Integer
      • favoriteRankPercentage: Double
  • Response Example:
{
    "favoriteRankTotal": 33,
    "rankList": [
        {
            "favoriteId": "84de1b3f-0d28-4e68-91a6-3a1a12d3dcf5",
            "favoriteImage": "https://tuk-planet.s3.ap-northeast-2.amazonaws.com/cat/%EB%82%A0%EC%95%84%EA%B0%80%EA%B8%B0+2%EC%B4%88%EC%A0%84.png",
            "favoriteTitle": "날아가기 2초전",
            "favoriteRankCount": 8,
            "favoriteRankPercentage": 24.242424242424242
        },
        {
            "favoriteId": "b927df63-6e5f-4d29-82d2-fc40b72882d3",
            "favoriteImage": "https://tuk-planet.s3.ap-northeast-2.amazonaws.com/cat/%ED%95%9C%EC%9E%A5%EC%97%90+%EB%AC%B4%EB%A0%A44%EB%A7%88%EB%A6%AC.jpg",
            "favoriteTitle": "한장에 무려4마리",
            "favoriteRankCount": 6,
            "favoriteRankPercentage": 18.181818181818183
        }
    ]
}

4. Get All Comment

- 댓글 전체 조회

- type- 정렬기준 : "heart" 또는 "time"

  • Endpoint: /favorite/comment/all/user/{userId}/{type}?page=
  • Method: GET
  • Request: None
  • Response:
    • commentTotal : Integer
    • commentList : Comment (commentId, userId, userName, content, heartCount, uploadTime, userHeart)
      • commentId: UUID (unique)
      • userId: UUID (unique)
      • userName: String
      • content: String
      • heartCount: Integer
      • uploadTime: LocalDateTime
      • userHeart: Boolean
  • Response Example:
{
    "commentTotal": 20,
    "commentList": [
        {
            "commentId": "d16911f7-0314-44f1-beef-d95c77c87e68",
            "userId": "b3780d17-640f-4a3c-ba59-40d82c6c818f",
            "content": "앨리 그리고 게이터.",
            "heartCount": 0,
            "uploadTime": "2024-04-12T08:45:52.607847",
            "userHeart": false
        },
        {
            "commentId": "8c3c3c27-6846-4f6c-937e-449edf0ba662",
            "userId": "b3780d17-640f-4a3c-ba59-40d82c6c818f",
            "content": "멍모 아니고 몽모",
            "heartCount": 0,
            "uploadTime": "2024-04-12T08:45:43.515191",
            "userHeart": false
        }
    ]
}

5. Save Comment

- 댓글 저장

  • Endpoint: /favorite/comment
  • Method: POST
  • Request:
    • userId: UUID (unique)
    • content: String
  • Request Example:
{
    "userId": "f84d08e0-96d2-4f32-9a51-04144248e202",
    "content": "ㅋㅋ"
}
  • Response:
    • success: boolean
  • Response Example:
{
    "success" : true
}

6. Update Comment

- 댓글 수정

  • Endpoint: /favorite/comment
  • Method: PUT
  • Request:
    • commentId: UUID (unique)
    • userId: UUID (unique)
    • content: String
  • Request Example:
{
    "commentId": "f84d08e0-96d2-4f32-9a51-04144248e202",
    "userId": "f84d08e0-96d2-4f32-9a51-04144248e202",
    "content": "ㅋㅋ"
}
  • Response:
    • success: boolean
  • Response Example:
{
    "success" : true
}

7. Delete Comment

- 댓글 삭제

  • Endpoint: /favorite/comment
  • Method: DELETE
  • Request:
    • commentId: UUID (unique)
    • userId: UUID (unique)
  • Request Example:
{
    "commentId": "f84d08e0-96d2-4f32-9a51-04144248e202",
    "userId": "f84d08e0-96d2-4f32-9a51-04144248e202"
}
  • Response:
    • success: boolean
  • Response Example:
{
    "success" : true
}

8. Save CommentHeart

- 댓글 좋아요 저장

  • Endpoint: /favorite/comment-heart
  • Method: POST
  • Request:
    • userId: UUID (unique)
    • commentId: UUID (unique)
  • Request Example:
{
    "commentId": "f84d08e0-96d2-4f32-9a51-04144248e202",
    "userId": "f84d08e0-96d2-4f32-9a51-04144248e202"
}
  • Response:
    • success: boolean
  • Response Example:
{
    "success" : true
}

9. Delete CommentHeart

- 댓글 좋아요 삭제

  • Endpoint: /favorite/comment-heart
  • Method: DELETE
  • Request:
    • commentId: UUID (unique)
    • userId: UUID (unique)
  • Request Example:
{
    "commentId": "f84d08e0-96d2-4f32-9a51-04144248e202",
    "userId": "f84d08e0-96d2-4f32-9a51-04144248e202"
}
  • Response:
    • success: boolean
  • Response Example:
{
    "success" : true
}

Clone this wiki locally