본문 바로가기

항해99

23.10.05 항해 99 16기 실전 프로젝트 2일차

오늘 공부한 것

* 실전 프로젝트 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: “형식에 맞지 않는 닉네임 입니다.”