[ @Controller์ @RestController ]
[ Hello,World ์ถ๋ ฅํ๊ธฐ ]
Controller ์์
@GetMapping( )์ด๋ผ๋ ์กด์ฌ์๋ค.
๊ณผ์ฐ @GetMapping์ ์ด๋ค ์ญํ ์ ํ๋ ๊ฒ์ผ๊น?
๋ฐ์ดํฐ์๋ ๋๊ฐ์ง ์ ์ก๋ฐฉ์์ด ์กด์ฌํ๋ค.
GET
- URL(์ฃผ์)์ ๋ฐ์ดํฐ๋ฅผ ํฌํจ์์ผ ๋ณด๋ธ๋ค.
- ๋ฐ์ดํฐ๋ ํค๋์ ํฌํจ๋์ด์๋ค.
- URL์ ๋ฐ์ดํฐ๊ฐ ๋ ธ์ถ๋์ด ๋ณด์์ ์ทจ์ฝํ๋ค.
- ์บ์ฑ(๋ฐ์ดํฐ๋ฅผ ๊ฐ๊น์ด ๊ณณ์ ์์๋ก ์ ์ฅํ ํ, ๋น ๋ฅด๊ฒ ๋ถ๋ฌ์ค๋ ํ๋ก์ธ์ค)ํ ์ ์๋ค.
- ์ฃผ๋ก ์กฐํ, ๊ฒ์ํ ๋ ์ฌ์ฉํ๋ค.
POST
- URL(์ฃผ์)์ ๋ฐ์ดํฐ๋ฅผ ํฌํจ์ํค์ง ์๋๋ค.
- ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋์ ํฌํจํ๋ค.
- URL์ ๋ฐ์ดํฐ๊ฐ ๋ ธ์ถ๋์ด์์ง ์์ GET๋ฐฉ์ ๋ณด๋จ ๋ณด์์ด ๋๋ค.
- ์บ์ฑ((๋ฐ์ดํฐ๋ฅผ ๊ฐ๊น์ด ๊ณณ์ ์์๋ก ์ ์ฅํ ํ, ๋น ๋ฅด๊ฒ ๋ถ๋ฌ์ค๋ ํ๋ก์ธ์ค)ํ ์ ์๋ค.
- ์ฃผ๋ก ๋ฐ์ดํฐ๋ฅผ ์๋ฒ์ ์ ์ฅ, ์์ ํ ๋ ์ฌ์ฉํ๋ค.
@GetMapping( )
- Get ์์ฒญ์ ํ๋ API ์ด๋ ธํ ์ด์ ์ด๋ค.
- ๊ฒฝ๋ก ๋งคํ์ ๋ฐ๋ผ ์ด๋ค ํ์ด์ง๋ฅผ ๋ณด์ฌ์ค์ง ๊ฒฐ์ ํ๋ค.
(๋งคํ, ์ฌ๋ฌ ์์๋ฅผ ์ฐ๊ฒฐํ๋ ๊ณผ์ ํน์ ๊ฒฐ๊ณผ๋ฌผ์ ๋งํ๋ค. ์์๋ฅผ ๋ค์ด๋ณด๋ฉด, ๊ฐ๋จ ๋ง์ง์ ๊ฒ์ํ์์ ๊ฐ๋จ์ ์๋ ๋ชจ๋ ์๋น์ด ๊ฒ์๋๋ ๊ฒฝ์ฐ๋ผ๊ณ ๋ณผ ์ ์์ ๊ฒ ๊ฐ๋ค. ๋งค์นญ์ ํค = 180cm ์ผ๋์ผ๋ก ๋ง๋ ๊ฒฝ์ฐ) - ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉํ๋ค.
- ๋ฐํ๊ฐ์ ํ๋์ง๋ง ๊ฒฝ๋ก๋ ๋ค์ค์ผ๋ก ์ค์ ๊ฐ๋ฅํ๋ค.
์ฝ๋๋ฅผ ๋ณด๊ณ ์ดํดํด๋ณด์.
ํด๋น ์ฝ๋๋ ํ์ด์ง ๋ฐํ์ ์๋๊ณ @RestController(์ง๋ ฌํ๋ฅผ ํตํด ๋ฌธ์์ด์ด ํ์ด์ง์ ๋ณด์ด๊ฒ ํด์ฃผ๋)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด์ ๋ฐํํ๋ ์ฝ๋์ ์ผ๋ถ์ด๋ค.
Controller ๋ด๋ถ ์ฝ๋
@GetMapping("")
public String helloWorld() {
return "Hello, World";
}
- @GetMapping("")์ผ๋ก ("")์ ๊ฒฝ๋ก๊ฐ ์ ํ์์ง ์์ ๋ฃจํธ๋ฅผ(๋ฉ์ธ ํ์ด์ง) ์๋ฏธํ๋ค.
- @GetMapping("") = ์ฌ์ฉ์๊ฐ ๋ฉ์ธ ํ์ด์ง์ ๋ค์ด๊ฐ๋ฉด
- "Hello, World"๋ฅผ ๋ฐํํด๋ผ. (@RestController๋ฅผ ์ด์ฉํ์ฌ)
๊ทธ๋ฌ๋ฉด ์ด๋ฒ์ ํ์ด์ง ๋ฐํํ๋ ์ฝ๋ ์ผ๋ถ๋ฅผ ์ดํด๋ณด์.
Controller ๋ด๋ถ ์ฝ๋
@GetMapping("")
public String homePage() {
return "First";
}
- page๋ผ๋ ์ด๋ฆ์ผ๋ก .html ํน์ .jsp๊ฐ ์๋ค๊ณ ๊ฐ์ ํ์.
- ๋ฃจํธ ๊ฒฝ๋ก("")๋ก ๋ค์ด๊ฐ๋ค๋ฉด
- First๋ผ๋ ํ์ด์ง๋ฅผ ๋ฐํํ๋ผ๋ ๋ช ๋ น์ด DispatcherServlet์๊ฒ ์ ๋ฌ๋๋ค.
- DispatcherServlet์ ViewResolver๋ก ์ ๋ฌํ๊ณ
- ViewResolver๊ฐ First๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง ํ์ด์ง๋ฅผ ์ฐพ์ ์ต์ข ์ ์ผ๋ก ํ๋ฉด์ ์ถ๋ ฅ๋๋๋ก ํ๋ค.
@RequestMapping
- ๋ค์ํ ์์ฑ์ ์ง์ ๊ฐ๋ฅํ๋ค.
- value, method, params, headers, consumes, produces์ ์์ฑ์ ๊ฐ์ง๊ณ ์๋ค.
- ๊ทธ ์์ฑ์ ์ด์ฉํ์ฌ Get, Post ๋ฑ ๋ค์ํ ๋์์ ๊ตฌํํ ์ ์๋ค.
- ์์ฑ์ด ํ๋๋ผ๋ ๋ฌ๋ผ์ผ ์ฌ๋ฐ๋ฅด๊ฒ Handler๊ฐ ๋งคํํ ์ ์๋ค.
- ์ฝ๊ฒ ์๊ฐํ๋ฉด @RequestMapping์์ ์กฐํํ๋ ๋ชฉ์ ์ ๋ง๊ฒ ํธ๋ฆฌํ๋๋ก ๋ง๋ค์ด๋ธ ๋ฒ์ ์ @GetMapping ๋ฑ.. ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
์ด๊ฒ๋ ์ฝ๊ฒ ์ฝ๋๋ก ์ดํด๋ณด์.
@RequestMapping(value = "", method = RequestMethod.GET)
public String helloWorld() {
return "Hello,Wrold!";
}
=
@GetMapping("")
public String helloWorld() {
return "Hello, World";
}
@RequestMapping์ method์ .GET์ผ๋ก ์ด๋ค ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ๊ฑด์ง ๋ช ์ํ๊ณ ์๋ค.
๋ ์์ธํ ๊ฑด ๋์ค์ ์์ฑํ๊ฒ ๋ค.
๋ชฉ์ ์ ๋ฐ๋ผ ๋ค๋ฅธ ์ด๋ ธํ ์ด์
- @PostMapping = ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ๋ ์ฌ์ฉํ๋ค. (Post์ ํน์ง์ ๊ทธ๋๋ก ๊ฐ์ ธ์จ ๊ฒ)
- @PutMapping = ์์ ํ ๋ ์ฌ์ฉํ๋ฉฐ, ๋ฐ์ดํฐ ์ ์ฒด๋ฅผ ๊ฐฑ์ ํ๋ค.
- @DeleteMapping = ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ ๋ ์ฌ์ฉํ๋ค.
- @PatchMapping = ์์ ํ ๋ ์ฌ์ฉํ๋ฉฐ, ์์ ๋ ๋ถ๋ถ๋ง ๊ฐฑ์ ํ๋ค.
@GetMapping์ ํฌํจํ์ฌ ์์ ์ด๋ ธํ ์ด์ ๋ค์ @RequestMapping์์ ๋ชฉ์ ์ ๋ง๊ฒ ๋ ํธ๋ฆฌํ ์ฝ๋๋ฅผ ๋ง๋ ๊ฒ์ด๋ผ ์๊ฐํ๋ฉด ๋๋ค. @RequestMapping์์ ๋ค์ํ ์์ฑ์ ์กฐํฉํด ์ํ๋ ์๋๋ฐฉ์์ ๋ง๋ค์ด์ผํ๋ค๋ฉด, ์์ ์ด๋ ธํ ์ด์ ์ ์์ฑ์ ์กฐํฉ์ ๋ํ ๋ถ๋ด์ ์ค์ฌ์ค ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
@GetMapping์ ๋ํด ์์๋ดค์ต๋๋ค.
๊ทธ๋ฅ ํ ์ค๋ก ์ ๋ฆฌํ๋ฉด ๋ค์ด์ค๋ ๊ฒฝ๋ก์ ๋ง์ถฐ ๋ฐํ๋ ํ์ด์ง๋ฅผ ๊ณจ๋ผ์ฃผ๋ ์ญํ ์ธ ๊ฒ ๊ฐ๋ค์.
@RequestMapping์ ๋ํด์๋ ๋ค์์ ์ ๋ฆฌํด๋ณผ๊น ํฉ๋๋ค.
์๋์ ์ถ์ฒ๋ฅผ ๋จ๊ฒจ๋๊ฒ ์ต๋๋ค.
๋ธ๋ก๊ทธ์ ์ ๊ฐ ์ต๋ํ ์ดํดํ ๋ด์ฉ๊น์ง๋ง ์ ๋๊ฑฐ๋ผ
์ถ์ฒ์ ๋ค์ด๊ฐ์๋ฉด ๋ ๋ง์ ๋ด์ฉ์ด ์์ด ๊ณต๋ถํ์๋๋ฐ ๋์๋์ค๊ฒ๋๋ค.
๐ชฝ
ํ๋ฆฐ ๋ด์ฉ์ด ์๋ค๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์ธ์
- @RequestMapping ๋์๋ฐฉ์
'๐ท Spring > ๊ฐ๋ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Spring - @Controller์ @RestController ๊ทธ๋ฆฌ๊ณ ์ํ์ฝ๋ (4) | 2024.10.18 |
---|---|
Spring - Spring MVC๋ฅผ ์์์ผ ์์์ด ๊ฐ๋ฅํ๋ค. (3) | 2024.10.15 |