# 신규 Controller를 생성 후 GetMapping을 통해 신규 경로로 접속을 해보자.
Controller는 해당 서비스의 root 경로라고 볼 수 있다.
TestController라는 신규 컨트롤러를 생성하고 해당 컨트롤러 안에 기존의 ArticleController의 내용을 넣어보자.
기존 ArticleController에서 아래의 코드를 예시로 신규 컨트롤러에 내용을 넣어 본다.
@GetMapping("articles/{id}")
public String show(@PathVariable Long id, Model model) {
log.info("id =" + id);
Article articleEntity = articleRepository.findById(id).orElse(null);
List<CommentDto> commentDtos = commentService.comments(id);
model.addAttribute("article", articleEntity);
model.addAttribute("commentDtos", commentDtos);
return "articles/show";
}
여기서 article/{id}는 URL 접속 경로가 된다. localhost:8080/article/{id} 가 된다.
그리고 TestController라는 java 클래스 파일을 신규로 생성 후 위의 코드를 넣어보자.
여기서 확인할 점은 바로 controller 폴더 안에 경로만 다르게 구분 한다면, 새로운 정보를 불러올 수 있다.
한마디로, Controller의 경로가 데이터를 불러오는 root 경로가 된다고 볼 수 있다.
localhost:8080/sion과 localhost:8080/sion{id} 처럼 Controller 까지의 경로가 root 경로로 해당 폴더안에 서로 이름이 다른 Controller 파일이 존재하고, 서로 다른 Controller 파일의 맵핑 정보가 존재 하더라도 값을 불러 올 수 있다.
아래의 캡쳐 화면과 같이 신규 Controller 파일의 맵핑 정보만 기존의 Article 파일의 정보를 복사하여 붙여 넣으면 아래와 같이 변경된 주소로도 동일한 값을 호출 하는 것을 불 수 있다.
그리고 위의 코드와 같이 해당 연산 값의 리턴값이 View 페이지를 호출할때 전달된다고 볼 수 있다.
'🌱JAVA > 🌟 Spring MVC 패턴' 카테고리의 다른 글
MVC 흐름 정리 (0) | 2023.04.03 |
---|---|
DTO의 역할 및 form 데이터 처리 (0) | 2022.04.22 |
Controller → View 까지의 흐름 (2) | 2022.04.22 |
Model, View, Controller (0) | 2022.04.22 |