본문 바로가기

🌱JAVA/🌟 Spring MVC 패턴

신규 Controller를 생성 후 맵핑 하기

# 신규 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