Skip to content

API DOCS ‐ Timer

taegeon3 edited this page Jun 3, 2024 · 8 revisions

API Documentation

  • Host
    • http://13.124.245.152:8080/
    • https://api.timer.play-tino.com

Endpoints

1.Get Timer

- 게임 시작시 목표시간 조회

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

  • Endpoint: /timer/start/user/{userId}?gameId=
  • Method: GET
  • Request: None
  • Response:
    • userId: UUID (unique)
    • gameId: UUID (unique)
    • targetTime: String
  • Response Example:
{
    "gameId": "978f9b44-c1e5-4bb3-b13f-0d37af70b527",
    "userId": "8c15b177-158c-44cb-962f-63480c77ebe3",
    "targetTime": "12.00"
}

2. Save Rank

- 게임 결과 저장

  • Endpoint: /timer/rank
  • Method: POST
  • Request:
    • gameId: UUID (unique)
    • userId: UUID (unique)
    • stopTime: String
    • targetTime: String
  • Request Example:
{
    "gameId" : "714f3f93-3e92-4db3-8afb-f8150f5d7f93",
    "userId" : "8c15b177-158c-44cb-962f-63480c77ebe3",
    "stopTime" : "12.00",
    "targetTime" : "12.00"
}
  • Response:
    • success: Boolean
    • rankIn : Boolean
  • Response Example:
{
    "success" : true
    "rankIn" : true
}

3. Get All Rank

- 랭킹 전체 조회

  • Endpoint: /timer/rank/all?page=
  • Method: GET
  • Request: None
  • Response:
    • timerTotal : Integer
    • timerList : Timer(timerRankId, userId, userName, stopTime, targetTime, errorRange, createTime)
      • timerRankId: UUID (unique)
      • userId: UUID (unique)
      • userName : String
      • stopTime: String
      • targetTime: String
      • errorRange(오차): String -> 절대값
      • createTime: LocalDataTime
  • Response Example:
{
    "timerTotal": 100,
    "timerList": [  
        {
            "timerRankId": "d73c93e5-a7c3-490c-b558-5a9423d848e9",
            "userId": "8c15b177-158c-44cb-962f-63480c77ebe3",
            "stopTime": "12.00",
            "errorRange": "00.0",
            "userName": "sdflj",
            "createTime": "2024-04-03T07:14:54.663683",
            "uploadTime": "2024-04-03T07:24:26.761977",
            "targetTime": "12.00"
        },
        {
            "timerRankId": "d73c93e5-a7c3-490c-b558-5a9423d848e9",
            "userId": "8c15b177-158c-44cb-962f-63480c77ebe3",
            "stopTime": "12.00",
            "errorRange": "00.0",
            "userName": "김태건",
            "createTime": "2024-04-03T07:14:54.663683",
            "uploadTime": "2024-04-03T07:24:26.761977",
            "targetTime": "12.00"
        }
    ]
}

4. Get All Comment

- 댓글 전체 조회

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

  • Endpoint: /timer/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)
      • content: String
      • heartCount: Integer
      • uploadTime: LocalDateTime
      • userHeart: Boolean
  • Response Example:
{
    "commentTotal": 16,
    "commentList": [
        {
            "commentId": "f84d08e0-96d2-4f32-9a51-04144248e202",
            "userId": "f84d08e0-96d2-4f32-9a51-04144248e202",
            "content": "ㅋㅋ",
            "heartCount": 1,
            "uploadTime": "2024-03-31T14:14:52.157417",
            "userHeartExists": "true"
        },
        {
            "commentId": "f84d08e0-96d2-4f32-9a51-04144248e202",
            "userId": "f84d08e0-96d2-4f32-9a51-04144248e202",
            "content": "ㅋㅋ",
            "heartCount": 12,
            "uploadTime": "2024-03-31T14:14:52.157417",
            "userHeartExists": "false"
        }
    ]
}

5. Save Comment

- 댓글 저장

  • Endpoint: /timer/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: /timer/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: /timer/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: /timer/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: /timer/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