Skip to content

API DOCS ‐ Quiz

6suhyeon edited this page Jun 3, 2024 · 12 revisions

API Documentation

  • Host
    • http://54.180.115.118:8080/
    • https://api.quiz.play-tino.com

Endpoints

1.Get All Quiz

- 게임 시작시 문제 10개 가져옴

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

  • Endpoint: /quiz/start/user/{userId}?gameId=
  • Method: GET
  • Request: None
  • Response:
    • gameId: UUID (unique)
    • userId: UUID (unique)
    • quizList (quizId, question, answer, hint, category)
      • quizId: UUID (unique)
      • question: String
      • answer: String
      • hint: String
      • category: String
  • Response Example:
[
   {
      "gameId": "f84d08e0-96d2-4f32-9a51-04144248e202",
      "userId": "f84d08e0-96d2-4f32-9a51-04144248e202",
      "quizList":  [
          {
              "quizId": "f84d08e0-96d2-4f32-9a51-04144248e202",
              "question": "김성준은 신인가",
              "answer": "ㅇㅈ"
              "hint": "그는,,,",
              "category": "상식"
          },
          {
              "quizId": "f84d08e0-96d2-4f32-9a51-04144248e202",
              "question": "김성준은 바보인가",
              "answer": "ㅇㅈ"
              "hint": "그는,,,",
              "category": "넌센스"
          }
     ]
  }
]

2. Save Rank

- 게임 결과 저장

  • Endpoint: /quiz/rank
  • Method: POST
  • Request:
    • gameId: UUID (unique)
    • userId: UUID (unique)
    • nonsenseCorrect: Integer
    • commonsenseCorrect: Integer
  • Request Example:
{
    "gameId": "f84d08e0-96d2-4f32-9a51-04144248e202",
    "userId": "f84d08e0-96d2-4f32-9a51-04144248e202",
    "nonsenseCorrect": 3,
    "commonsenseCorrect": 3,
}
  • Response:
    • success: boolean
    • rankIn: boolean
  • Response Example:
{
    "success" : true
    "rankIn" : true
}

3. Get All Rank

- 랭킹 전체 조회

  • Endpoint: /quiz/rank/all?page=
  • Method: GET
  • Request: None
  • Response:
    • quizTotal: Integer
    • quizRankList (quizRankId, nonsenseCorrect, commonsenseCorrect, allCorrect, userName)
      • quizRankId: UUID (unique)
      • nonsenseCorrect: Integer
      • commonsenseCorrect: Integer
      • allCorrect: Integer
      • userName: String
  • Response Example:
[
    {
      "quizTotal": 18,
      "quizRankList":  [
          {
              "quizRankId": "f84d08e0-96d2-4f32-9a51-04144248e202",
              "nonsenseCorrect": 5,
              "commonsenseCorrect": 4,
              "allCorrect": 9,
              "userName": "dddd"
          },
          {
              "quizRankId": "b84d08e0-96d2-4f32-9a51-04144248e202",
              "nonsenseCorrect": 3,
              "commonsenseCorrect": 4,
              "allCorrect": 7,
              "userName": "유유수현"
          }
    }
]

4. Get All Comment

- 댓글 전체 조회

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

  • Endpoint: /quiz/comment/all/user/{userId}/{type}?page=
  • Method: GET
  • Request: None
  • Response:
    • commentTotal: Integer
    • commentList (commentId, userId, content, userName, heartCount, uploadTime, userHeart)
      • commentId: UUID (unique)
      • userId: UUID (unique)
      • content: String
      • userName : String
      • heartCount: Integer
      • uploadTime: LocalDateTime
      • userHeart: Boolean
  • Response Example:
[
    {
      "commentTotal": 18,
      "commentList":  [
          {
              "commentId": "f84d08e0-96d2-4f32-9a51-04144248e202",
              "userId": "f84d08e0-96d2-4f32-9a51-04144248e202",
              "content": "ㅋㅋ",
              "userName" : "유수현",
              "heartCount": 1,
              "uploadTime": "2024-03-31T14:14:52.157417",
              "userHeart": "true"
          },
          {
              "commentId": "f84d08e0-96d2-4f32-9a51-04144248e202",
              "userId": "f84d08e0-96d2-4f32-9a51-04144248e202",
              "content": "ㅋㅋ",
              "userName" : "유수현",
              "heartCount": 1,
              "uploadTime": "2024-03-31T14:14:52.157417",
              "userHeart": "true"
          }
    }
]

5. Save Comment

- 댓글 저장

  • Endpoint: /quiz/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: /quiz/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: /quiz/comment
  • Method: PUT
  • 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: /quiz/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: /quiz/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