mash-up-kr / Backend_9th_ETC

👾 매쉬업 백엔드팀 9기 토이 프로젝트 ETC팀 👾
3 stars 3 forks source link

REST API 설계 #3

Open YJeongKim opened 4 years ago

YJeongKim commented 4 years ago

<REST API 설계>

User Story

5월 16일 16시 경, 강남역 근처 스터디룸에서 프로젝트 설계를 위한 회의 진행

🧩 구현할 기능

🎨 Demo


UAC


Reference



Check List



YJeongKim commented 4 years ago

로그인

GET /login

로그인 화면

◻ Request

{
}

◻ Response

// 뷰
{
}

POST /login

로그인 요청

◻ Request


// 수정하세요
{

}

### ◻ Response
#### 200 OK
```JSON
// 수정하세요
{

}
YJeongKim commented 4 years ago

그룹 리스트

GET /groups

그룹 리스트

◻ Request

{
}

◻ Response

200 OK

{
"groups":  [
{
"groupId": "그룹 ID",
"groupName": "그룹명"
}
]
}

POST /groups

그룹 생성

◻ Request

{
"userId": "사용자 ID",
"groupName" : "생성할 그룹명"
}

◻ Response

201 Created > Redirect GET /groups

{
"message" : "그룹이 생성되었습니다."
}

POST /groups/join

그룹 참여

◻ Request

{
"userId": "사용자 ID",
"code" : "참여할 그룹의 code"
}

◻ Response

201 Created > Redirect GET /groups

{
"message" : "그룹에 참여되었습니다."
}
YJeongKim commented 4 years ago

다이어리 리스트

GET /diaries

다이어리 리스트

◻ Request

{
"userId": "사용자 ID",
"groupId" : "그룹 ID"
}

◻ Response

200 OK

{
"groupCode": "그룹 code",
"diaries":  [
{
"diaryId": "다이어리 ID",
"title": "제목",
"writerId": "작성자 ID",
"createTime": "작성 날짜"
}
]
}

GET /diaries/{diaryId}

다이어리 조회

◻ Request

{
}

◻ Response

200 OK

{
"diaryId": "다이어리 ID",
"writerName": "작성자 이름",
"title": "제목",
"contents": "내용",
"createTime": "작성 날짜",
"updateTime": "수정 날짜"
}
YJeongKim commented 4 years ago

다이어리 조회

POST /diaries

다이어리 생성

◻ Request

{
"userId": "사용자 ID",
"groupId": "그룹 ID",
"title": "제목",
"contents": "내용"
}

◻ Response

201 Created > Redirect GET /diaries/{diaryId}

{
"message" : "다이어리 작성이 완료되었습니다."
}

PUT /diaries/{diaryId}

다이어리 수정

◻ Request

{
"userId": "사용자 ID",
"groupId": "그룹 ID",
"title": "제목",
"contents": "내용"
}

◻ Response

200 OK > Redirect GET /diaries/{diaryId}

{
"message" : "다이어리 수정이 완료되었습니다."
}

DELETE /diaries/{diaryId}

다이어리 삭제

◻ Request

{
"userId": "사용자 ID",
"groupId" : "그룹 ID"
}

◻ Response

200 OK > Redirect GET /diaries/{diaryId}

{
"message" : "다이어리가 삭제되었습니다."
}