Spring/SpringBoot 실습

[SpringBoot 실습] 기본 페이지 만들기

메성 2021. 1. 3. 22:22
반응형

기본 페이지 만들기

index.mustache

이제 첫 페이지륻 담당할 index.mustache를 src/main/resources/templates에 생성해보자.

image

<!DOCTYPE HTML>
<html>
<head>
    <title>스프링 부트 웹 서비스</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
    <h1>스프링 부트로 시작하는 웹 서비스</h1>
</body>
</html>

 

IndexController.java

이제 이 머스테치에 URL을 매핑해보자. URL 매핑은 당연히 Controller에서 해야하니 IndexController를 생성하자.

image

@Controller
public class IndexController {
    @GetMapping("/")
    public String index() {
        return "index";
    }
}

머스테치 스타터로 인해 컨트롤러에서 문자열 반환 시 앞의 경로와 뒤의 파일 확장자는 자동으로 지정이 된다. 앞의 경로는 src/main/resources/templates이고, 뒤의 파일 확장자는 .mustache가 붙는 것이다.

 

 

IndexControllerTest.java

그럼 이제 코드가 완성되었으니 테스트 코드로 검증해보자.

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class IndexControllerTest {

    @Autowired
    private TestRestTemplate restTemplate;

    @Test
    public void roadMain() {
        //when
        String body = this.restTemplate.getForObject("/", String.class);

        //then
        assertThat(body).contains("스프링 부트로 시작하는 웹 서비스");
    }
}

이번 테스트는 URL 호출 시 페이지의 내용이 제대로 호출되는 지에 대한 테스트이다.

TestRestTemplate을 통해 "/"로 호출이 되면 index.mustache에 포함된 코드들이 있는지 확인하게 된다.

image

 

이제 서버를 실행 후 localhost:8082로(포트번호 8082로 설정)로 접속해보면 아래와 같이 index.mustache로 만든 페이지가 성공적으로 브라우저에 나타난다.

image

반응형