[Spring Boot/Spring Web MVC] ViewController를 이용해서 뷰 매핑하기

2021. 4. 22. 03:24 Spring Framework/Spring boot #3

[Spring Boot/Spring Web MVC] ViewController를 이용해서 뷰 매핑하기

@GetMapping("/hello")
public String hello() {
    return "hello";
}

위와 같이 특정 요청 url에 대해 컨트롤러 로직 없이 바로 뷰를 리턴하는 경우 ViewController를 사용해서 뷰를 매핑할 수 있다.

 

@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/hello").setViewName("hello");
    }
}

WebMvcConfigurer를 implements하는 클래스에서 addViewControllers()를 override해서 요청에 대한 뷰를 등록해주면 된다.

이와 같이 특정 GET 요청에 대해 추가 작업 없이 뷰만 리턴해주면 되는 경우 일반적인 요청 매핑처럼 @GetMapping으로 컨트롤러에 핸들러를 만들어도 되지만 이렇게 ViewController를 등록할수도 있다.

 

간단히 뷰를 만들어서 결과를 확인해보자.

뷰 이름으로 "hello"를 설정했으므로 src/main/resources/templates 아래에 hello.html 파일을 만들었다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>ViewController Test</h1>
</body>
</html>

 

실행 결과

 

출처 : atoz-develop.tistory.com/entry/Spring-BootSpring-Web-MVC-ViewController%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%B4%EC%84%9C-%EB%B7%B0-%EB%A7%A4%ED%95%91%ED%95%98%EA%B8%B0?category=869242