
์ฌ์ฉ์๋ก String ๊ฐ๋ง์ ๋ฐ๋ค๊ฐ ์ด๋ฏธ์ง ํ์ผ๊น์ง ๋ฐ๊ธฐ ์ํด ์์ ํ ์ค๋ฅ๊ฐ ๋ฐ์...
"status": 415, "error": "Unsupported Media Type",
์๋ jsonํํ๋ก String ํ์ ์ธ title, content๋ฅผ ๋ณด๋ผ ๋๋ ์ ์์ ์ผ๋ก ์๋์ ํ๋๋ฐ ํด๋ผ์ด์ธํธ์์ Stringํ์ ์ ๊ฐ๋ค๊ณผ ์ฌ๋ฌ ์ด๋ฏธ์ง ํ์ผ์ ๋์์ ์๋ฒ๋ก ๋ณด๋ด๊ธฐ ์ํด formdata๋ก ๋ณ๊ฒฝํ์๋๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ค.

@RequestBody์ ๊ด๋ จ๋ ์ค๋ฅ์๋ค. ์ค๋ฅ ๋ฌธ๊ตฌ๋ฅผ ์ดํด๋ณด๋ฉด ์ง์ํ์ง ์๋ ํ์ ์ด๋ผ๋ ๊ฒ์ ์ ์ ์๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๋จผ์ "Content-Type"์ ๋ํด์ ์์๋ณด์.
์๋ต ๋ด์ ์๋ Content-Type ํค๋๋ ํด๋ผ์ด์ธํธ์๊ฒ
๋ฐํ๋ ์ปจํ ์ธ ์ ์ปจํ ์ธ ์ ํ์ด ์ค์ ๋ก ๋ฌด์์ธ์ง๋ฅผ ์๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค.
์ฆ, ์๋ตํค๋์ ๋ณด๋ด๊ณ ์ ํ๋ ์๋ต์ ๋ณด๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ ค์ฃผ๋ ๊ฒ์ด๋ค.
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ ํ์ 3๊ฐ์ง๊ฐ ์๋ค.
1. application/json
2. application/x-www-form-urlencoded
3. multipart/form-data
ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์ ์ก์ ํ ๋ ์ฃผ๋ก ๋ค์๊ณผ ๊ฐ์ ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ค.
- @RequestParam
- @RequestBody
- @ModelAttribute
@RequestParam
๋จ์ผ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค.
Content-Type์ด application/json ์ด๋ ,mulipart/form-data ์๊ด ์์ด ๋์ผํ๊ฒ key์ ๋งค์นญ๋๋ ํ๋์ ํ๋ ๊ฐ์ ๋ฐ์ ์ ์๋ค.
@RequestBody
ํด๋ผ์ด์ธํธ๊ฐ ์ ์กํ Json ํํ์ ๋ฐ์ดํฐ๋ฅผ Java์ ๊ฐ์ฒด๋ก ๋ณํ์์ผ์ค๋ค.
Content-Type์ด application/json์ด์ด์ผ ํ๋ค.
@ModelAttribute
form ๋ฐ์ดํฐ (๋ฌธ์, ์ด๋ฏธ์งํ์ผ ๋ฑ)์ ๋ฐ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค.
Content-Type์ด multipart/form-data ์ธ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋๋ค.
์ด ๋ @ModelAttribute ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ ์กํ ๋ฐ์ดํฐ๋ฅผ Java ๊ฐ์ฒด์ ๋ฐ์ธ๋ฉํ๊ธฐ ์ํด์ Setter ๋ฅผ ํธ์ถํ๊ธฐ์ Setter ๊ฐ ์์ด์ผ ํ๋ค.
@ReqeustBody์ Content-Type์ application/json ํ์์ ๋ฐ์ ์ ์๋ค๊ณ ๋์์์๋ค.
ํ์ง๋ง Postman์์ ๋ณด๋ด๊ณ ์ ํ๋๊ฑฐ๋ multipart/form-data ํ์์ผ๋ก ๋ณด๋ด๊ณ ์์๋ค.
multipart/form-data ํ์์ DTO๋ก ๋ฐ์ผ๋ ค๋ฉด @ModelAttribute๋ก ๋ฐ์์ผํ๋ค!!