@RequestParam์ http์์ฒญ์ผ๋ก๋ถํฐ ์ฌํ ํ์ ์ ๊ฐ์ฒด๋ฅผ ํ๋์ฉ ๊ฐ์ ธ์์๋ค๋ฉด,
@ModelAttribute๋ก๋ http ์์ฒญ ํผ๋ฐ์ดํฐ๋ก๋ถํฐ ๋ณตํฉ ๊ฐ์ฒด ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค.
๐ฅ ์์
@RequestParam - ๋จ์ผ ํ์

@ModelAttribute - ๋ณตํฉ ํ์

ModelAttribute๋ ์ธ์ ์ ์ ์ฅ๋ ๋ฐธ๋ฅ ์ ๋ณด๊น์ง ์กฐํฉํ์ฌ ๋ณตํฉ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
โ BindingResult
@ModelAttribute ๋ณ์ ์ค๋ฅธ์ชฝ์ ํจ๊ป ์จ์ฃผ๋ฉด,
binding ์ค๋ฅ ๋ฐ์์ ๋ฐ๋ก ์ต์ ์ ๋์ง๋ ๊ฒ ์๋๋ผ,
์๋ฌ ์ ๋ณด๋ฅผ BindingResult ์์ ๋ด์์ค๋ค.
๐ฅ ์ ๋ ฅํผ์์ id๋ฅผ String์ผ๋ก ์ค๊ฒฝ์ฐ


์๋ต์ฝ๋๋ 200์ด ์ด
๊ทธ๋ฌ๋ ์๋ฒ์์๋ id๊ฐ String์ด ์๋๋ผ Long์ผ๋ก ์ ์ธ๋์๊ธฐ ๋๋ฌธ์
user.id=null ๋ก ์ฐํ๊ณ ,
์ฌ๊ธฐ์ ๋ฐ์ํ ์๋ฌ๋ bindingResult๊ฐ ์ก์์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๊ฒ ๋๊ธฐ ๋๋ฌธ์ ๋ฐํ์ ์ต์ ์ ์ ํฐ์ง์ง ์์
<< ๋ชจ๋ธ @ModelAttribute >>
โ ๋ง์ฝ
์ปจใดํธ๋กค๋ฌ ๋ด๋ถ ๋ชจ๋ ํธ๋ค๋ฌ ๋ฉ์๋ ์์์ ๊ณตํต์ ์ผ๋ก ์ฐธ๊ณ ํด์ผํ๋ ๋ชจ๋ธ ์ ๋ณด๊ฐ ์๋ค?
๊ทธ๋ ๋ชจ๋ ํธ๋ค๋ฌ๋ง๋ค ์๊ท๋จผํธ๋ก Model ๋ฐ์ ์ฐ๊ธฐ ๋ฒ๊ฑฐ๋ก์ฐ๋
์ปจํธ๋กค๋ฌ์ @ModelAttribute ๋ถ์ธ ๋ฉ์๋๋ฅผ ์ ์ํด์ ๊ฐ์ด ์ธ ์ ์๋ค.

๋์ค์ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
--> ์ฝ๋ ์ค๋ณต์ ์ ๊ฑฐํ ์ ์๋ค.
๋ ๋ค๋ฅธ ์์

โ ํธ๋ค๋ฌ ๋ฉ์๋์ @ModelAttribute ๋ถ์ด๋ฉด ๋ฆฌํด๊ฐ์ฒด๋ฅผ ๋ชจ๋ธ์ ๋ฃ์ด์ค๋ค.

(@ModelAttribute๋ ์ฌ์ค ์๋ตํด๋ ๋๋ค)
๋ทฐ๋ค์์ RequestToViewNameTranslator๊ฐ ์์์ ์ฐพ์๊ฐ๋ค.
'๊ฐ์ธ ๊ณต๋ถ > WEB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
@ExceptionHandler, @ControllerAdvice (0) | 2024.03.01 |
---|---|
@SessionAttribute, @SessionAttriubtes (2) | 2024.03.01 |
[๊ฐ์ ์ ๋ฆฌ] ์คํ๋ง MVC ํ์ฉ (1) | 2024.02.29 |
304 NOT MODIFIED (1) | 2024.02.28 |
[๊ฐ์ ์ ๋ฆฌ] ์คํ๋ง MVC ์ค์ (2) (1) | 2024.02.21 |