REWIND

여행에 대한 회고 관련 API

통합 REWIND 작성

POST api/v1/travels/{travelId}/rewinds

특정 여행에 대한 특정 날짜의 최초 회고를 작성합니다.

해당 여행일(date) 에 해당하는 회고가 존재하지 않을 경우 새 회고를 생성합니다.

해당 여행일(date) 에 해당하는 회고가 존재한다면 유저는 아래의 URL을 통해 API를 요청해야 합니다. travels/{travelId}/rewinds/{rewindId}/users

note : ERD변경 필요 -> 회고 (1)- 개별회고(m) , 개별회고 (1) - 개별회고QNA(m), 개별회고의 컬럼에 mood, 오늘의 한마디 넣기

Request Body

{

"date" : "2023-01-05",

"mvpPick" : userId (Long)

"mood" : "good",

"qna" : {

"question1": questionId (Long) , "answer1" : "답변1",

"question2": questionId (Long) , "answer2" : "답변2",

"question3": questionId (Long) , "answer3" : "답변3"

},

"comment" : "오늘의 한마디"

}

Path Parameters

Name
Type
Description

travelId*

Long

여행 Id

Headers

Name
Type
Description

Authorization*

String

Bearer Token

"rewindId" : rewindId
"createdAt" : "2023-01-05T10:00:00"

개별 REWIND 작성

POST api/v1/travels/{travelId}/rewinds/{rewindId}/users

특정 여행에 대한 특정 날짜의 회고에 해당하는 개별 회고를 작성합니다.

작성된 개별 회고의 데이터는 통합 회고에 연결됩니다.

Request Body

{

"mvpPick" : userId (Long)

"mood" : "good",

"qna" : {

"question1": questionId (Long) , "answer1" : "답변1",

"question2": questionId (Long) , "answer2" : "답변2",

"question3": questionId (Long) , "answer3" : "답변3"

},

"comment" : "오늘의 한마디"

}

Path Parameters

Name
Type
Description

travelId*

Long

여행 Id

rewindId*

Long

회고 Id

Headers

Name
Type
Description

Authorization*

String

Bearer Token

"createdAt" : "2023-01-05T10:00:00"

특정 여행의 모든 REWIND 목록 조회

GET api/v1/travels/{travelId}/rewinds

특정 여행에 대한 모든 통합 회고 목록을 조회합니다.

Path Parameters

Name
Type
Description

travelId*

Long

여행 Id

Headers

Name
Type
Description

Authorization*

String

Bearer Token

[
    {
      "rewindId" : rewindId (Long)
      "date" : "2023-01-05"
      "createdAt" : "2023-01-05T23:00:00",
      "updatedAt" : "2023-01-05T23:00:00" 
    },
    {
      "rewindId" : rewindId (Long)
      "date" : "2023-01-06"
      "createdAt" : "2023-01-06T23:00:00",
      "updatedAt" : "2023-01-06T23:00:00" 
    },
    {
      "rewindId" : rewindId (Long)
      "date" : "2023-01-07"
      "createdAt" : "2023-01-07T23:00:00",
      "updatedAt" : "2023-01-07T23:00:00" 
    }   
] 

통합 REWIND 조회

GET api/v1/travels/{travelId}/rewinds/{rewindId}

특정 여행에 대한 특정 통합 회고를 조회합니다.

Path Parameters

Name
Type
Description

travelId*

Long

여행 Id

rewindId*

Long

회고 Id

Headers

Name
Type
Description

Authorization*

String

Bearer Token

"date" : "2023-01-05"
"mvp" : userId (Long)
"individualRewinds" : 
[
    {  
       "writerId" : userId (Long) //작성자 id
       "mvpPick" : userId (Long) //선택한 mvp 후보
       "mood" : "good",
       "qna" :  { 
                 "question1": questionId (Long) , "answer1" :  "답변1",  
                 "question2": questionId (Long) , "answer2" :  "답변2",
                 "question3": questionId (Long) , "answer3" :  "답변3"
                },
       "comment" : "오늘의 한마디",
       "createdAt" : "2023-01-05T23:00:00",
       "updatedAt" : "2023-01-05T23:00:00"
    },
    {  
       "writerId" : userId (Long) //작성자 id
       "mvpPick" : userId (Long) //선택한 mvp 후보
       "mood" : "good",
       "qna" :  { 
                 "question1": questionId (Long) , "answer1" :  "답변1",  
                 "question2": questionId (Long) , "answer2" :  "답변2",
                 "question3": questionId (Long) , "answer3" :  "답변3"
                },
       "comment" : "오늘의 한마디",
       "createdAt" : "2023-01-05T23:30:30",
       "updatedAt" : "2023-01-05T23:30:30" 
    },
    {  
       "writerId" : userId (Long) //작성자 id
       "mvpPick" : userId (Long) //선택한 mvp 후보
       "mood" : "good",
       "qna" :  { 
                 "question1": questionId (Long) , "answer1" :  "답변1",  
                 "question2": questionId (Long) , "answer2" :  "답변2",
                 "question3": questionId (Long) , "answer3" :  "답변3"
                },
       "comment" : "오늘의 한마디",
       "createdAt" : "2023-01-05T23:59:00",
       "updatedAt" : "2023-01-05T23:59:00" 
    }
]

개별 REWIND 조회

GET api/v1/travels/{travelId}/rewinds/{rewindId}/users/{userId}

특정 여행의 특정 통합 회고에 대한 특정 개별 회고를 조회합니다.

Path Parameters

Name
Type
Description

travelId*

Long

여행 id

rewindId*

Long

회고 Id

userId*

Long

유저 id (작성자)

Headers

Name
Type
Description

Authorization*

String

Bearer Token

"mvpPick" : userId (Long) //선택한 mvp 후보
"mood" : "good",
"qna" : { 
          "question1": questionId (Long) , "answer1" :  "답변1",  
          "question2": questionId (Long) , "answer2" :  "답변2",
          "question3": questionId (Long) , "answer3" :  "답변3"
        },
"comment" : "오늘의 한마디",
"createdAt" : "2023-01-05T23:00:00",
"updatedAt" : "2023-01-05T23:00:00"

개별 REWIND 수정

PATCH api/v1/travels/{travelId}/rewinds/{rewindId}/users/{userId}

특정 여행의 공통 회고에 대한 개별 회고를 수정합니다.

Request Body

{

"mvpPick" : userId (Long)

"mood" : "bad",

"qna" : {

"answer1" : "수정된 답변1",

"answer2" : "수정된 답변2",

"answer3" : "수정된 답변3"

},

"comment" : "수정된 오늘의 한마디"

Path Parameters

Name
Type
Description

travelId*

Long

여행 id

rewindId*

Long

회고 id

userId*

Long

유저 id (작성자 id)

Headers

Name
Type
Description

Authorization*

String

Bearer Token

"updatedAt" : "2023-01-06T09:00:00"

개별 REWIND 삭제

DELETE api/v1/travels/{travelId}/rewinds/{rewindId}/users/{userId}

특정 여행의 공통 회고에 대한 개별 회고를 삭제합니다.

Path Parameters

Name
Type
Description

travelId*

Long

여행 id

rewindId*

Long

회고 id

userId*

Long

유저 id (작성자 id)

Headers

Name
Type
Description

Authorization*

String

Bearer Token

Last updated