기능 | Method | url | request | reponse | purpose |
로그인 | POST | /users/login | { "username" : "유저아이디" "pwd" : "비밀번호" } |
{ "로그인 성공", "상태코드 : 201" }, { "오류메세지", "상태코드" } |
DB에 저장된 유저만 로그인하여 JWT토큰을 응답 |
회원가입 | POST | /users/signup | { "username" : "유저아이디", "pwd" : "비밀번호", "email" : "email@email.com" "nickname" : "닉네임", "profile" : "한줄 소개" } |
{ "회원가입 성공", "상태코드 : 201" }, { "오류메세지", "상태코드" } |
정규식에 맞춘 회원가입/DB에 회원 저장/DB에 중복된 회원 저장 실패 |
회원정보 수정 | PUT | /users/update | 비밀번호와 수정을 동시에 요청 | { "회원정보 수정 성공", "상태코드 : 201" }, { "오류메세지", "상태코드" } |
JWT토큰이 유효해도 다시 비밀번호를 입력받음/ 맞으면 회원수정 |
마이페이지 | GET | /users/ | JWT 인증/인가 토큰 | { "username" : "유저아이디", "email" : "email@email.com" "nickname" : "닉네임", "profile" : "한줄 소개" } |
회원 정보 조회 |
로그아웃 | POST | /users/logout | JWT 인증/인가 토큰 | { "로그아웃 완료" "상태코드" } ?? |
|
게시글 작성 | POST | /menus | { "title" : "게시글 제목", "content" : "글 내용" } /JWT 인증/인가 토큰 |
{ "title" : "게시글 제목", "content" : "글 내용", "createdAt : 작성일" } |
JWT 토큰유효하면 게시글 작성 성공 |
main페이지 게시글 조회 | GET | /menus | - | { "title" : "게시글 제목", "content" : "글 내용", "createdAt : 작성일" } *6 list<>로 관리? |
누구나 볼 수 있음 6개의 게시글을 대표로 보여줌 6개의 게시물은 최신기준 |
회원 게시글 조회 | GET | /menus/{userId} | @pathVariable : {userId} | { "title" : "게시글 제목", "content" : "글 내용", "createdAt : 작성일" } list<>로 관리 |
해당 유저가 작성한 게시글 응답 |
게시글 조회 | GET | /menus/{menuId} | @pathVariable : {menuId} | { "title" : "게시글 제목", "content" : "글 내용", "createdAt : 작성일" } |
해당 게시글 조회 |
게시글 수정 | PUT | /menus/{menuId} | @pathVariable : {menuId}/ BODY : { "title" : "게시글 제목", "content" : "글 내용" } /JWT 인증/인가 토큰 |
{ "title" : "수정된 게시글 제목", "content" : "수정된 글 내용", "createdAt : 작성일" } |
JWT토큰이 유효하고, 게시글 작성자와 현재 유저가 같으면 수정 가능 |
게시글 삭제 | DELETE | /menus/{menuId} | @pathVariable : {menuId} /JWT 인증/인가 토큰 |
{ "게시글 삭제 성공", "상태코드 : 201" }, { "오류메세지", "상태코드" } |
JWT토큰이 유효하고, 게시글 작성자와 현재 유저가 같으면 삭제 가능 |