티스토리 뷰

항해99(7기)/항해 4주차

게시판 API 설계

minji_6119 2022. 5. 28. 17:42
게시글 API
기능 Method URL request response 로그인 토큰
전체 게시글 목록 조회 API GET /   Page<Post> X
게시글 작성 API POST /posts Post Post O
게시글 수정 API PUT /posts/{id} id, Post id O
게시글 삭제 API DELETE /posts/{id}   id O
게시글 눌러보기 GET /posts/{id}   post.html X
검색어를 포함하는 게시글 목록 조회 API GET /search?query= String query Page X
회원관리 API
기능 Method URL request response 로그인 토큰
회원가입 페이지 GET /user/signup - singup.html X
회원가입 POST /user/signup username
password
password2
성공: "redirect/user/login"
실패: error message
(중복된 이름)
X
회원로그인 페이지 GET /user/login   login.html X
회원 로그인 POST /user/login username
password
성공: "redirect:/"
실패: "redirect:/user/login?error"
X
회원 로그아웃 GET /user/logout   "redirect:/" O
댓글작성 API

Comment Entity

  • id
  • username
  • postid
  • comments
  • Timestamped
기능 Method URL request response 로그인 토큰
댓글 목록 불러오기 GET /posts/{id}/comments/   List <Comment> X
댓글 작성하기 POST /posts/{id}/comments/ CommentDto   O
댓글 수정하기 PATCH /posts/{id}/comments/{id} CommentDto 성공: id
실패: 댓글을 수정할 수 없습니다.
O
댓글 지우기 DELETE /posts/{id}/comments/{id}   성공: id
실패: 댓글을 수정할 수 없습니다.
O

 

  1. 회원 가입 API
    • 닉네임, 비밀번호, 비밀번호 확인을 request에서 전달받기
    • 닉네임은 최소 3자 이상, 알파벳 대소문자(a~z, A~Z), 숫자(0~9)로 구성하기
    • 비밀번호는 최소 4자 이상이며, 닉네임과 같은 값이 포함된 경우 회원가입에 실패로 만들기
    • 비밀번호 확인은 비밀번호와 정확하게 일치하기
    • 데이터베이스에 존재하는 닉네임을 입력한 채 회원가입 버튼을 누른 경우 "중복된 닉네임입니다." 라는 에러메세지를 response에 포함하기
  2. 로그인 API
    • 닉네임, 비밀번호를 request에서 전달받기
    • 로그인 버튼을 누른 경우 닉네임과 비밀번호가 데이터베이스에 등록됐는지 확인한 뒤, 하나라도 맞지 않는 정보가 있다면 "닉네임 또는 패스워드를 확인해주세요"라는 에러 메세지를 response에 포함하기
  3. 로그인 검사
    • 아래 API를 제외하고 모두 로그인 토큰을 전달한 경우만 정상 response를 전달받을 수 있도록 하기
      • 회원가입 API
      • 로그인 API
      • 게시글 목록 조회 API
      • 게시글 조회 API
      • 댓글 목록 조회 API
    • 로그인 토큰을 전달하지 않은 채로 로그인이 필요한 API를 호출한 경우 "로그인이 필요합니다." 라는 에러 메세지를 response에 포함하기
    • 로그인 토큰을 전달한 채로 로그인 API 또는 회원가입 API를 호출한 경우 "이미 로그인이 되어있습니다."라는 에러 메세지를 response에 포함하기
  4. 댓글 목록 조회 API
    • 로그인 토큰을 전달하지 않아도 댓글 목록 조회가 가능하도록 하기
    • 조회하는 게시글에 작성된 모든 댓글을 목록 형식으로 response에 포함하기
    • 제일 최근 작성된 댓글을 맨 위에 정렬하기
  5. 댓글 작성 API
    • 로그인 토큰을 전달했을 때에만 댓글 작성이 가능하도록 하기
    • 로그인 토큰을 전달하지 않은 채로 댓글 작성란을 누르면 "로그인이 필요한 기능입니다." 라는 에러 메세지를 response에 포함하기
    • 댓글 내용란을 비워둔 채 API를 호출하면 "댓글 내용을 입력해주세요" 라는 에러 메세지를 response에 포함하기
  6. 댓글 수정 API
    • 로그인 토큰에 해당하는 사용자가 작성한 댓글만 수정 가능하도록 하기
    • API를 호출한 경우 기존 댓글의 내용을 새로 입력한 댓글 내용으로 바꾸기
  7. 댓글 삭제 API
    • 로그인 토큰에 해당하는 사용자가 작성한 댓글만 삭제 가능하도록 하기
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함