오늘 공부한 것
* 실전 프로젝트 SA 수정
* 실전 프로젝트 시작
어제는 SA를 제출하기위해 급하게 만들었다면
오늘은 더 많은 대화를 나누고 SA 수정을 했다
그리고 디자이너도 만나서 이야기를 나누어 보았다
이후에는 실전 프로젝트를 하기위해 GIt Hub에 Repositories 도 만들고
시작하기 위한 초기 작업을 마쳤다
나는 댓글과 대댓글 부분을 맡았고 내일부터는 코딩을 시작해야겠다이번 프로젝트도 무사히 끝나길...
1. API 명세서 수정
이름 | API | Method | Request Header |
Request | Reponse | 에러코드 | Response Header | 추가설명 |
회원가입 | /api/signup | POST | { password: 1234, email: “rob@email.com”, nickName: “robbie”, userRole: “ADMIN” } | { msg: “회원가입 성공”, statusCode: 200 } | {msg: “중복된 이메일 입니다.” statusCode:400} {msg: “형식에 맞지 않는 이메일 입니다.” statusCode:400} {msg: “형식에 맞지 않는 비밀번호 입니다.” statusCode:400} {msg: “중복된 닉네임 입니다.” statusCode:400} {msg: “형식에 맞지 않는 닉네임 입니다.” | userRole(user): 사용자 권한, userRole(admin): 관리자 권한, password: 특수문자 포함, 이메일의 경우 중복확인 및 특수문자 검증, 이메일 2차 인증 혹은 다른 방법으로 인증 (추가적으로: OAuth2.0가능하면 시도) | ||
로그인 | /api/login | POST | { email: “rob@email.com”, password: 1234 } | { msg: “로그인 성공”, statusCode: 200 } | {msg: “존재하지 않는 이메일입니다” statusCode:400} {msg: “잘못된 비밀번호입니다” statusCode:400} | {token: “avbscd”} | userRole(admin)의 경우 모든 권한 가능, (추가적으로 Refresh Token가능한지 확인) | |
전체 게시글 조회 |
/api/posts | GET | @[{ postid = 1, title: “제주도”, nickName: “rob”, likeNum: 100, createdAt: 2023-09-01 },,…] | {msg: “존재하지 않는 게시글입니다” statusCode:400} | 전체 게시물 조회 | |||
랭킹 목록 조회 | /api/posts/rank | GET | @[{ postid = 1, title: “제주도”, nickName: “rob”, likeNum: 100, createdAt: 2023-09-01 },,…] | 랭킹으로 조회된 게시물을 좋아요 순으로 조회 (권한에 관계없이 모두 조회 가능해야함) | ||||
상세 게시글 조회 |
/api/posts/{postId} | GET | @{ postid = 1, title: “제주도”, nickName: “rob”, likeNum: 100, createdAt: 2023-09-01, commentList: { comments: “좋았어요.”, replyList: {content: “저도 좋았어요.”,…}, …}} | {msg: “존재하지 않는 게시글입니다” statusCode:400} | 게시물에 달린 댓글과 그에 대한 대댓글을 함께 반환 (댓글 역시 작성 시간에 따라 내림차순 정렬) | |||
검색 | /api/search?keyword=”제주도” | GET | @[{ postid = 1, title: “제주도”, nickName: “rob”, likeNum: 100, createdAt: 2023-09-01, commentList: { comments: “좋았어요.”, replyList: {content: “저도 좋았어요.”, …}, …}} | {msg: “존재하지 않는 게시글입니다” statusCode:400} | ||||
게시글 작성 |
/api/posts | POST | {token:“avbscd”} | { title: “제주도”, content: “제주바다입니다.”, category: “식도락”, startDate: “2023-09-01”, endDate: “2023-09-08”, likeNum: 0, scheduleList : [{ chosenDate: "2023-09-20”, contents:”맛집탐방”, placeName:”부산”, traffic:”택시”, costs:”50000”, accomodation:”게스트하우스”, restaurants:”현지맛집” }, …] } | { msg: “게시글이 등록 되었습니다.”, statusCode: 200 } | category: “식도락”, “커플”, “나홀로”, “가족여행”, “우정” 등이 있다. | ||
선택한 게시글 수정 |
/api/posts/{postid} | PUT | {token:“avbscd”} | { title: “부산”, content: “부산바다입니다.”, category: “친구”, startDate: “2023-09-10”, endDate: “2023-09-30”, likeNum: 1 } | { msg: “수정 되었습니다.”, statusCode: 200 } | {msg: “게시글 작성자만 수정할 수 있습니다” statusCode:400} | 토큰과 email같이 검사 | |
선택한 게시글 삭제 |
/api/posts/{postId} | DELETE | {token:“avbscd”} | { msg: “삭제 되었습니다.”, statusCode: 200 } | {msg: “게시글 작성자만 삭제할 수 있습니다” statusCode:400} | 토큰을 통해 “email”을 검증할 수 있으므로, 이 정보와 작성자가 같은지 알아보려면 작성자의 “email”이 필요하다. | ||
댓글 작성 | /api/posts/{postId}/comments/{comentId} | POST | {token:“avbscd”} | {title: “저도 인사합니다.”, comment: “반갑습니다.”} | { msg:”댓글을 작성하였습니다.”, statusCode: 200 } | |||
댓글 조회 | /api/posts/{postId}/comments/ | GET | [{ commentid =1, title: “저도 인사합니다.”, nickName: “rob”, comment: “반갑습니다.” },…] | |||||
댓글 수정 | /api/posts/{postId}/comments/{commentId} | PUT | {token:“avbscd”} | { title: “수정한 댓글”, comment: “수정한 댓글” } | { msg:”댓글을 수정하였습니다.”, statusCode: 200 } | {msg: “댓글 작성자만 수정할 수 있습니다” statusCode:400} | ||
댓글 삭제 | /api/posts/{postId}/comments/{commentId} | DELETE | {token:“avbscd”} | { nickName: “rob” } | { msg:”댓글을 삭제하였습니다.”, statusCode: 200 } | {msg: “댓글 작성자만 삭제할 수 있습니다” statusCode:400} | ||
대댓글 생성 |
/api/posts/{postId}/comments/{commentId}/replys | POST | {token:“avbscd”} | { reply:”대댓글을 답니다” } | { msg:”대댓글을 작성하였습니다.”, statusCode: 200 } | |||
대댓글 조회 |
/api/posts/{postId}/comments/{commentId}/replys | GET | [{ nickName: “Bob”, reply:”대댓글을 답니다” },…] | |||||
대댓글 수정 |
/api/posts/{postId}/comments/{commentId}/replys/{replyId} | PUT | {token:“avbscd”} | { reply:”대댓글을 수정합니다” } | { msg:”대댓글을 수정하였습니다.”, statusCode: 200 } | {msg: “대댓글 작성자만 수정할 수 있습니다” statusCode:400} | ||
대댓글 삭제 |
/api/posts/{postId}/comments/{commentId}/replys/{replyId} | DELETE | {token:“avbscd”} | { nickName: “rob” } | { msg:”대댓글을 삭제하였습니다.”, statusCode: 200 } | {msg: “대댓글 작성자만 삭제할 수 있습니다” statusCode:400} | ||
마이페이지 | /api/user/{userid} | GET | {token:“avbscd”} | { email: “rob@email.com”, nickName: “robbie” } | ||||
마이페이지 정보수정 |
/api/user/me | PUT | {token:“avbscd”} | { password: 1234, nickName: “robbie”, profileURL: “/img/profile.png” } | { password: 1234, email: “rob@email.com”, nickName: “robbie” } | {msg: “형식에 맞지 않는 비밀번호 입니다.” statusCode:400} {msg: “중복된 닉네임 입니다.” statusCode:400} {msg: “형식에 맞지 않는 닉네임 입니다.” |
'항해99' 카테고리의 다른 글
23.10.07 항해 99 16기 실전 프로젝트 4일차 (0) | 2023.10.07 |
---|---|
23.10.06 항해 99 16기 실전 프로젝트 3일차 (0) | 2023.10.06 |
23.10.04 항해 99 16기 실전 프로젝트 1일차 (1) | 2023.10.04 |
23.10.03 항해 99 16기 주특기 프로젝트 15일차 (1) | 2023.10.03 |
23.10.02 항해 99 16기 주특기 프로젝트 14일차 (0) | 2023.10.02 |