본문 바로가기

공부/TIL

[팀프로젝트] 뉴스피드 API명세서

기능 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토큰이 유효하고,
게시글 작성자와 현재 유저가 같으면 삭제 가능

 

'공부 > TIL' 카테고리의 다른 글

23.11.22  (0) 2023.11.22
23.11.21  (1) 2023.11.21
23.11.20  (1) 2023.11.20
23.11.17  (0) 2023.11.17
23.11.16  (0) 2023.11.16