Coding Planet
@Controller์ @RestController์ ์ฐจ์ด๋? ๋ณธ๋ฌธ
๋ฐ์ํ
1. @Controller
- @Controller ์ด๋ ธํ ์ด์ ์ ์คํ๋ง ์น ์ดํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ์ปจํธ๋กค๋ฌ ํด๋์ค๋ฅผ ์ง์ ํด์ฃผ๊ธฐ์ํด ์ฌ์ฉ๋๋ค.
- HTML ๋ทฐ ํ ํ๋ฆฟ, JSP, Thymleaf๋ฑ๊ณผ ๊ฐ์ ๋ทฐ ๋ ๋๋ง์ ์ํด ํ์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ ๋ฐํ๋๋ ๋ฉ์๋์ ๊ฒฐ๊ณผ๋ ์ฃผ๋ก ๋ชจ๋ธ๊ณผ ๋ทฐ ์ด๋ฆ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ๋ทฐ ํ ํ๋ฆฟ์ผ๋ก ๋ ๋๋ง๋์ด ํด๋ผ์ด์ธํธ์๊ฒ HTML ํ์ด์ง๋ฅผ ์ ๊ณตํ๋ค.
- MVC ํจํด์์ ์ฌ์ฉ์์ ์ ๋ ฅ์ฒ๋ฆฌ์ ํ๋ฆ ์ ์ด๋ฅผ ๋ด๋นํ๋ค. ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ์ ์ฒ๋ฆฌํ ํ ์๋ต ํ๋ฉด(๋ทฐ ํ ํ๋ฆฟ)์ ์ง์ ํ๋ค.
@Controller
public class MyController {
@GetMapping("/hello")
public String sayHello() {
return "hello"; // "hello"๋ ๋ทฐ ํ
ํ๋ฆฟ ์ด๋ฆ
}
}
2. @RestController
- @RestController ์ด๋ ธํ ์ด์ ์ ์คํ๋ง ์น ์ดํ๋ฆฌ์ผ์ด์ ์์ RESTful ์น ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ปจํธ๋กค๋ฌ ํด๋์ค์ ์ฌ์ฉ๋๋ค.
- JSON, XML ๋ฑ๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ค.
- ๋ฉ์๋์ ๋ฐํ ๊ฐ์ ์ง์ HTTP ์๋ต์ผ๋ก ๋ณํ๋์ด ํด๋ผ์ด์ธํธ์๊ฒ ์ ์ก๋๋ค.
- ์ฆ ์๋ ์์์ "Hello, World!"๋ ๋ฌธ์์ด์ธ๋ฐ ์ด ๋ฌธ์์ด์ HTTP ์๋ต ๋ณธ๋ฌธ์ผ๋ก ํฌํจ์ํค๊ณ 'Content-Type' ํค๋๋ฅผ ํ ์คํธ ํ์์ผ๋ก ์ค์ ํ๋ ๊ฒ์ด๋ค.
- ๋ฐ๋ผ์ ํด๋ผ์ด์ธํธ๊ฐ '/api/hello' ์๋ํฌ์ธํธ์ ์์ฒญ์ ๋ณด๋ด๋ฉด "Hello, World!"๊ฐ HTTP ์๋ต์ผ๋ก ๋ฐํธ๋๋๋ ๊ฒ์ด๋ค.
@RestController
public class MyRestController {
@GetMapping("/api/hello")
public String sayHello() {
return "Hello, World!";
}
}
๋ฐ์ํ
'๐ฑSPRING' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring Security] ๋ณด์๊ตฌ์ฑ ์ค์ ํ๊ธฐ - context-security.xml(์ ์์ ๋ถ ๋ชจ๋ ํฌํจ) (1) | 2024.02.14 |
---|---|
@RequestBody ์ด๋ ธํ ์ด์ ์ค๋ช ๋ฐ ์์ (1) | 2024.01.03 |
[MyBatis] test์ ์ซ์, ๋ฌธ์์ด ๋น๊ต (ํฐ ๋ฐ์ดํ, ์์ ๋ฐ์ดํ ๊ตฌ๋ถ ๊ผญ!!!!!) (1) | 2023.11.14 |
PRG(Post/Redirect/Get) ํจํด๊ณผ ์์ (0) | 2023.11.08 |
SPRING MVC - ๋ทฐ ๋ฆฌ์กธ๋ฒ (View Resolver) (0) | 2023.10.24 |
Comments