📌 요구사항
GET전체 게시글 목록 조회 API
- 제목, 작성자명, 작성 날짜를 조회하기
- 작성 날짜 기준으로 내림차순 정렬하기
POST게시글 작성 API
- 제목, 작성자명, 비밀번호, 작성 내용을 입력하기
GET게시글 조회 API
- 제목, 작성자명, 작성 날짜, 작성 내용을 조회하기
(검색 기능이 아닙니다. 간단한 게시글 조회만 구현해주세요.)POST게시글 비밀번호 확인 API
- 비밀번호를 입력 받아 해당 게시글의 비밀번호와 일치여부 판단하기
PUT게시글 수정 API
- 제목, 작성자명, 비밀번호, 작성 내용을 수정되게 하기
DELETE게시글 삭제 API
- 글이 삭제되게 하기

🔑 JSON 데이터 형식으로 Response 해주는 것이 핵심!

ResponseBody Custom Setting(JSON Response 커스텀 세팅)

"success": 데이터가 요청한대로 응답했을 때(true)true 또는 false로 반환"data": 응답데이터를 담아주는 곳Generic Type으로 선언"error": 요청실패시 에러메시지 포함하여 응답null 반환: 데이터가 문제없이 응답했을 경우{
"code":"NULL_POST_ID"
"message":"post id does not exist."
}{
"code","ACCESS_DENIED"
"message","password is wrong"
}첫번째_ 전체 게시글 목록 조회 API
🔒 응답 "data"에는 비밀번호와 작성내용을 제외하여 Response 해줘야함!
🔑 "Spring JPA Projection"
: 이 기능은 interface 기반으로 구현되며 Entity의 일부데이터만 가져올 수 있도록. 즉, 우리가 어떤 Entity에서 필요한 properties만을 선택적으로 가져올 수 있도록 해준다.관련 공식문서
중요!!!__ Interface에는 getter method만을 만들어주고, 이 method는 Aggregate root(여기서는 Board Class)의 것과 동일해야한다.


두번째&세번째_ 게시글 작성, 게시글 상세조회 API
🔒 패스워드 field는 데이터에서 보이지 않도록
🔑@JsonIgnore라는 Annotaion을 통해 Json객체로 반환할 때 보여지지 않도록 함(무시)


네번째-여섯번째_ 비밀번호 확인 API + 게시글 수정, 삭제 API
🔒 RequestBody가 JSON의 형태일 경우일 때,
int값인 password를 추출하여 서버에 저장된 데이터와 동일한지 확인하는 방법은?
🔑JSONObject라이브러리 -> gradle import 필요!

1) RequestBody에는 아래와 같이 JSON형태로 데이터가 담아져서 서버쪽으로 보내진다. (JSONObject을 통해 값을 추출하기 위해서는 String으로 받아야함)
{
"password":1234
}
2) String값인 password를 JSONObject를 사용하여 Json객체화시킨다.
3) 그 후 getInt("password") 메서드로 int으로 값을 추출한다.
4) id를 통해 DB에 데이터를 찾아 저장된 비밀번호가 맞는지 확인한다.