티스토리 뷰

개인과제로 Spring을 이용한 게시판 구현을 하였다.


서비스 요구사항은 다음과 같다.

 

  1. 전체 게시글 목록 조회 API
    • 제목, 작성자명, 작성 내용, 작성 날짜를 조회하기
    • 작성 날짜 기준 내림차순으로 정렬하기
  2. 게시글 작성 API
    • 제목, 작성자명, 비밀번호, 작성 내용을 저장하고
    • 저장된 게시글을 Client 로 반환하기
  3. 선택한 게시글 조회 API
    • 선택한 게시글의 제목, 작성자명, 작성 날짜, 작성 내용을 조회하기 (검색 기능이 아닙니다. 간단한 게시글 조회만 구현해주세요.)
  4. 선택한 게시글 수정 API
    • 수정을 요청할 때 수정할 데이터와 비밀번호를 같이 보내서 서버에서 비밀번호 일치 여부를 확인 한 후
    • 제목, 작성자명, 작성 내용을 수정하고 수정된 게시글을 Client 로 반환하기
  5. 선택한 게시글 삭제 API
    • 삭제를 요청할 때 비밀번호를 같이 보내서 서버에서 비밀번호 일치 여부를 확인 한 후
    • 선택한 게시글을 삭제하고 Client 로 성공했다는 표시 반환하기

# API 명세서를 만들어 보았다.

Method URL Request Response
Get  /api/posts -
{
    "createdAt""2022-12-09T14:45:34.5844743",
    "modifiedAt""2022-12-09T14:45:34.5844743",
    "id"1,
    "name""name1",
    "text""text1",
    "password""password1"
}
{
    "createdAt""2022-12-09T14:45:34.5844743",
    "modifiedAt""2022-12-09T14:45:34.5844743",
    "id": 2,
    "name""name2",
    "text""text2",
    "password""password2"
}
Get /api/posts/{id} -
{
    "createdAt""2022-12-09T14:45:34.5844743",
    "modifiedAt""2022-12-09T14:45:34.5844743",
    "id"1,
    "name""name1",
    "text""text1",
    "password""password1"
}
Post /api/posts
{
    "name":"name1",
    "text":"text1",
    "password":"password1"
    }
{
    "createdAt""2022-12-09T14:45:34.5844743",
    "modifiedAt""2022-12-09T14:45:34.5844743",
    "id"1,
    "name""name1",
    "text""text1",
    "password""password1"
}
Put /api/posts/{id}
{
    "name":"name2",
    "text":"text2",
    "password":"password2"
    }
{
    "createdAt""2022-12-09T14:45:34.5844743",
    "modifiedAt""2022-12-09T14:45:34.5844743",
    "id": 2,
    "name""name2",
    "text""text2",
    "password""password2"
}
Delete /api/posts/{id} {
    "password":"password",
}
{
     "success":"true",

}

 


#  중간 점검

  1. 수정, 삭제 API의 request를 어떤 방식으로 사용하셨나요? (param, query, body) 
  2. 어떤 상황에 어떤 방식의 request를 써야하나요?
  3. RESTful한 API를 설계했나요? 어떤 부분이 그런가요? 어떤 부분이 그렇지 않나요?
  4. 적절한 관심사 분리를 적용하였나요? (Controller, Repository, Service)
  5. API 명세서 작성 가이드라인을 검색하여 직접 작성한 API 명세서와 비교해보세요!

 


#느낀점

  • Spring에 대해서 처음 접하고 공부하면서 직접 구현하는것에 어려움을 느꼈다.
  • 어노테이션의 사용방식이나 아키텍처의 규칙을 잘 이해하지 못하고 있다.
  • 첫 시작은 어려웠지만 하나씩 채워가며 조금씩 이해할 수 있었다.
  • 앞으로 남은 시간동안 꾸준히 쌓아가야겠다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/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
글 보관함