9๋ฒ์งธ ๊ณผ์
1. start.spring.io ํ์ฉํด์ ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ ์์ฑํ๊ธฐ
start.spring.io์ ๋ค์ด๊ฐ์ ์ค์ ํ Generate ๋ฒํผ์ ๋๋ฌ ํ๋ก์ ํธ zip ํ์ผ์ ๋ค์ด๋ฐ๋๋ค.
ํ์ผ์ ์์ถ์ ํ๊ณ IntelliJ์์ Open Project๋ฅผ ํด์ฃผ๋ฉด ๋!
2. Controller ํด๋์ค ๊ตฌํํ๊ธฐ
- ์๊ตฌ์ฌํญ : ์น๋ธ๋ผ์ฐ์ ์ ‘localhost:8080/test’ ์ฃผ์๋ฅผ ์ ๋ ฅํ๋ฉด ์ฒจ๋ถ์ ๊ฐ์ด TEST ๊ธ์ ์ถ๋ ฅํ๊ธฐ
controller ํด๋๋ฅผ ๋ง๋ค๊ณ ๊ทธ ์์ TestController ํ์ผ์ ์์ฑํ์๋ค.
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class TestController {
@GetMapping("/test")
public String test(){
return "test.html";
}
}
1) @Controller
@Controller ์ด๋ ธํ ์ด์ ์ผ๋ก ์ด ํ์ผ์ด Controller๋ก ์ฌ์ฉ๋๋ ๊ฒ์ ์คํ๋ง์ ์๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค.
View๋ก ์ ๋ฌํด์ฃผ๋ฏ๋ก TestController์ ํธ๋ค๋ฌ์ธ test() ๋ฉ์๋์์๋ test.html์ ๋ฆฌํดํด์ค๋ค.
์คํ๋ง๋ถํธ์์ ๊ธฐ๋ณธ์ ์ผ๋ก resources/static ์ ์ธ์ํ๋ฏ๋ก ์ฌ๊ธฐ์ test.html ํ์ผ์ ๋ง๋ค์ด์ฃผ์๋ค.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
<h1>TEST</h1>
</body>
</html>
2) @RequestMapping
ํน์ URI๋ก ์์ฒญ์ด ์ฌ ๋ ์ด๋ค ๋ฉ์๋๋ก ์ฒ๋ฆฌํ ์ง ๋งคํํด์ฃผ๋ ์ด๋ ธํ ์ด์ ์ด๋ค. value๋ ์์ฒญ ๋ฐ์ URL์ ์ค์ ํด์ฃผ๊ณ , method๋ ์ด๋ค ์์ฒญ์ผ๋ก ๋ฐ์์ง ์ ์ํด์ค๋ค. method์ ์ข ๋ฅ์๋ GET, POST, PUT, DELETE๊ฐ ์๋ค.
@Controller
public class TestController {
//@GetMapping("/test")
@RequestMapping(value="/test", method=RequestMethod.GET)
public String test(){
return "test.html";
}
}
3) @GetMapping
@GetMapping์ @RequestMapping(method = RequestMethod.GET ...) ๊ณผ ๋์ผํ๋ค๊ณ ๋ณผ ์ ์๋ค. RequestMapping ์ค์์ GET๋ฐฉ์์ผ๋ก ์์ฒญ๋ฐ์ ๋งคํํด์ฃผ๋ ์ด๋ ธํ ์ด์ ์ด๋ค.
4) @RestController
@RestController๋ @Controller์ @ResponseBody๊ฐ ์ถ๊ฐ๋ ๊ฒ์ด๋ค. @Controller๋ View๋ฅผ ๋ฐํํด์ฃผ์ง๋ง @RestController๋ JSON ํํ๋ก ๊ฐ์ฒด ๋ฐ์ดํฐ๋ฅผ ๋ฐํํด์ค๋ค. Rest Api๋ฅผ ๊ฐ๋ฐํ ๋ ์ฃผ๋ก ์ฌ์ฉ๋๋ค.
JSON ํํ๋ก ๊ฐ์ฒด ๋ฐ์ดํฐ๋ฅผ ๋ฐํํด์ฃผ๋ฏ๋ก ๋ฆฌํดํ ๋, "<h1>TEST</h1>"๋ฅผ ๋ฆฌํดํด์ฃผ๋ฉด ๋์ผํ๊ฒ TEST๊ฐ ์ถ๋ ฅ๋ ํ๋ฉด์ ํ์ธํ ์ ์๋ค.
//@Controller
@RestController
public class TestController {
//@GetMapping("/test")
@RequestMapping(value="/test", method=RequestMethod.GET)
public String test(){
return "<h1>TEST</h1>";
}
}
TEST ๊ธ์๊ฐ ๋์ค๋ฉด Controller ๋ฏ์ด๋ณด๊ธฐ ์ฑ๊ณต!