1. 개요

이 예제에서는 Spring MVC 컨트롤러에서 HTML을 반환하는 방법을 살펴보고 싶습니다.

무엇을해야하는지 살펴 보겠습니다.

2. Maven 의존성

먼저 MVC 컨트롤러에 대한 spring-boot-starter-web Maven 의존성 을 추가해야합니다 .

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <versionId>1.3.7.RELEASE</versionId>
</dependency>

3. 컨트롤러

다음으로 컨트롤러를 만들어 보겠습니다.

@Controller
public class HtmlController {
    @GetMapping(value = "/welcome", produces = MediaType.TEXT_HTML_VALUE)
    @ResponseBody
    public String welcomeAsHTML() {
        return "<html>\n" + "<header><title>Welcome</title></header>\n" +
          "<body>\n" + "Hello world\n" + "</body>\n" + "</html>";
    }
}

@Controller  어노테이션을 사용 하여이 클래스가 HTTP 요청을 처리 함을 DispatcherServlet 에 알립니다 .

다음으로 MediaType.TEXT_HTML_VALUE 출력 을 생성 하도록 @GetMapping 어노테이션을 구성 합니다.

마지막으로 @ResponseBody 어노테이션은 반환 된 개체가 구성된 미디어 유형,TEXT_HTML_VALUE 또는 text / html 로 자동 직렬화되어야한다고 컨트롤러에 알려줍니다 .

이 마지막 어노테이션이 없으면 기본적으로 문자열 반환 값이 뷰 이름을 참조 하므로 404 오류가 발생 합니다.

해당 컨트롤러를 사용하여 테스트 할 수 있습니다.

curl -v localhost:8081/welcome

출력은 다음과 유사합니다.

> ... request ...
>
< HTTP/1.1 200
< Content-Type: text/html;charset=UTF-8
< ... other response headers ...
<

<html>
<header><title>Welcome</title></header>
<body>
Hello world
</body>
</html>

예상대로 응답 Content-Typetext / html 입니다. 또한 응답에 올바른 HTML 콘텐츠가 있음을 알 수 있습니다.

4. 결론

이 기사에서는 Spring MVC 컨트롤러에서 HTML을 반환하는 방법을 살펴 보았습니다.

항상 그렇듯이 코드 샘플은 GitHub에서 사용할 수 있습니다 .