Spring/실습 정리

Spring Boot 5강 - 컨트롤러에서 HTML 코드 직접 반환하기

코딩하는냥이 2025. 6. 30. 13:51
반응형

스프링 부트에서는 컨트롤러 메서드에 @ResponseBody를 붙이면,
문자열을 그대로 브라우저에 출력할 수 있습니다.
이때 HTML 태그가 포함된 문자열을 반환하면,
브라우저에서 해당 HTML이 실제 태그로 해석되어 화면에 렌더링됩니다.


📌 예제 코드

package com.mysite.sbb;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {
    
    @GetMapping("/hello")
    @ResponseBody
    public String hello() {
        return "<h1>Hello, World!</h1>";
    }
}

💬 코드 설명

  • @Controller
    이 클래스가 웹 요청을 처리하는 컨트롤러임을 나타냅니다.
  • @GetMapping("/hello")
    /hello 경로로 GET 요청이 들어오면, 아래 메서드를 실행합니다.
  • @ResponseBody
    이 애너테이션이 붙어 있으므로,
    메서드가 반환하는 문자열이 그대로 HTTP 응답의 본문(body)에 전달됩니다.
  • hello() 메서드
    반환값이 <h1>Hello, World!</h1>이므로,
    브라우저에서 이 URL에 접속하면 큰 제목(헤더) 형태로 "Hello, World!"가 표시됩니다.

💻 실행 결과

Hello, World!


💡포인트 정리

  • @ResponseBody를 사용하면, 문자열 그대로 응답 가능하다.
  • HTML 태그가 포함된 문자열을 반환하면,
    브라우저에서 해당 태그가 해석되어 렌더링된다.
  • 간단한 테스트나 API 응답, 임시 화면 등에 활용할 수 있다.

📌정리하자면, 스프링 부트 컨트롤러에서
HTML 태그를 포함한 문자열을 반환하면,
별도의 뷰 템플릿 없이도 브라우저에 원하는 형식의 화면을 간단히 보여줄 수 있습니다.
단, 복잡한 화면이 필요하다면 JSP, Thymeleaf 같은 뷰 템플릿을 활용하는 것이 더 좋습니다.