오라클에서 DB 기본 세팅했습니다.
테스트 예제 쿼리를 날리면 정상 작동합니다.
일단 처음에는 크게 3가지 항목으로 나눠봤습니다.
# 클라이언트
- 요청 : '최근 10개의 게시물이 있는 메인 화면을 보여줘.'
사용자가 처음 사이트에 접속했다면, 게시물이 있는 메인 화면이 처음 나와야 합니다.
[최근 10개의 게시물이 있는 메인 화면을 보여줘] 의 기능을 맡는 메서드의 주소를 호출하면,
서버는 이 기능을 맡는 메서드의 작업을 수행한 후 [최근 10개의 게시물이 있는 '메인 화면']을 반환해야 합니다.
# 스프링부트(서버)
- 요청에 대해서 : READ 읽기 작업을 맡는 메서드를 수행
Controller 레이어 : 클라이언트의 요청을 받아 해당하는 '읽기' 메서드를 호출해야 합니다.
[ 한 건만 읽기 or 여러 건 읽기 ]
한 건만 읽기의 경우 특정 게시물 조회 요청을 받았을 시
한건의 게시물 정보를 반환해야 합니다.
여러 건 읽기의 경우 메인 화면과 같이 게시물 목록을 불러와야
할 때 여러 건 읽기 메소드를 호출해야 합니다.
요청에 대한 작업은 여러 건 읽기 메소드를 호출하는 것입니다.
일단 처음에 클라이언트가 요청한 의도는 [ 게시물 목록을 불러오는 일 ] 이므로,
DB에 저장된 게시물 목록에서 [ 여러 건 읽기 ] 를 통해 저장된 날짜 속성의 최근으로부터 10개를 불러와 클라이언트로 반환합니다.
브라우저는 DB로부터 불러온 데이터를 웹에 표현하면 사용자가 요청한 메인 게시물이 있는 화면을 볼 수 있습니다.
# 데이터베이스
서버의 요청에 대해 응답하고, 제공할 데이터를 반환합니다.
무결성 제약 및 성능 이슈를 확인해야 합니다.
위 예시들에서는 '여러 건 읽기' 과정을 떠올려봤는데,
CRUD 에 해당하는 다양한 흐름들을 위해 필요한 클래스 및 메소드가 많이 있습니다.
GET은 무언가 요청하고 그 데이터를 반환받아 화면에 표현해야 하는 경우에 해당되며
POST는 HTTP의 구조 중 Request Body 부분에 데이터를 담아 전송하고
응답은 생성된 데이터의 '상태' 를 나타내는 메시지를 반환합니다.
예를 들어
"작성이 완료되었습니까?" / ( 완료되었습니다 / 에러입니다 / 기타 결과 )
와 같이 '상태'에 대한 응답 메시지를 반환합니다.
Q. getPosts() 라는 메서드를 PostMan으로 호출한다면...?
getPosts() 라는 메서드는 일단 호출이 되면 게시물 목록을 조회합니다.
그리고 이를 클라이언트에 반환합니다.
함수가 별도의 파라미터를 받지 않으므로 Params , Headers , Body 에 입력 없이 Send 를 한다면
게시물목록을 반환받을 수 있습니다.
가져온 데이터를 타임리프를 이용하여 동적 html 을 생성하여 서버로부터 SSR(서버사이드렌더링)을 통해 브라우저로 전달합니다.
그러면 메인 화면에 최신 게시물을 확인할 수 있는 동적 html 화면을 띄울 수 있을 것입니다.
'CRUD 실습' 카테고리의 다른 글
HTML 메인화면 뼈대 마무리하기 [탐구/기록] (0) | 2024.09.30 |
---|---|
HTML 미디어쿼리와 뷰포트 적용하기 [탐구/기록] (1) | 2024.09.30 |
메인화면 HTML 뼈대 구성하기 [탐구/기록] (0) | 2024.09.30 |
JpaRepository 사용하기 + Thymeleaf [탐구/기록] (0) | 2024.09.30 |
게시판 목록을 불러오는 함수 구현하기 [탐구/기록] (0) | 2024.09.30 |