DB의 데이터를 조회하여 웹 페이지로 확인해보자.
이전에, /articles/new 에 접속해서 데이터를 입력하면, DB에 해당 데이터를 저장하도록 했다.
이번에는 /articles/1000 에 접속시 id가 1000인 데이터를 꺼내 보여줘보자.
1. 사용자가 브라우저를 통해 데이터를 요청함.
/articles/{id}
2. 요청 url을 컨트롤러가 받아, 받은 url에서, 찾고자 하는 데이터의 정보를 repository에 전달.
3.repository는 DB에 데이터 요청, DB는 entity를 repository에 전달.
4. entity를 Model을 통해 View로 전달.
우선 View부터 만든다.
표 형식으로 보이게 했고,
id, title,content를 보여준다.
article이라는 데이터를 받아와 사용할 건데,
사용을 시작할 부분에 {{#데이터명}},
사용이 끝나는 부분에 {{/데이터명}}을 써주면 되고
각 변수는 {{변수명}}으로 사용하면 된다.
URL요청받기.
(이제 Controller 작성하여 url에서 찾고자하는 데이터정보를 뽑음.)
/articles/id값 경로로 접속하면 해당id값에 맞는 데이터를 보여줄것이니
@GetMapping을 해주고, 경로는 /articles/{id}로 한다.
경로에 괄호를 쳐놓으면, 해당값을 변수로 사용할 수 있다.
컨트롤러에서 해당변수를 받아오기위해 컨트롤러 메소드 파라미터로 id를 넣어준다. (@Pathvariable 어노테이션 붙여야함)
그리고 해당id값으로 DB에서 값을 찾는다. 이는 articleRepository.findById메소드를 쓴다.
받은 값은 Entity인 Article타입의 articleEntity변수에 저장한다.
(주의: 엔티티의 디폴트생성자가 있어야함.)
받은 엔티티를 뷰로 전달하기위해 모델에 등록해야한다.
그래서 메소드 두번째인자로 모델을 넣고,
model.addAttribute메소드로 아티클앤티티를 등록한다.
이제 마지막으로, 만들어둔 mustache파일경로를 리턴하면 된다..
'웹개발 > SpringBoot' 카테고리의 다른 글
리다이렉트 설정하기 (0) | 2023.03.08 |
---|---|
DB의 모든 데이터 목록 가져오기 (0) | 2023.03.08 |
롬복(Lombok) 사용하기(생성자 코드 줄이기, 로깅) (0) | 2023.03.08 |
h2 데이터베이스 insert, select (0) | 2023.03.08 |
[Springboot] JPA를 이용하여 DB에 데이터 생성하기 (0) | 2023.03.08 |
댓글