2022 01 27 - oneso123456789/2022 GitHub Wiki

other

ResponseEntity ํƒ€์ž…

Web์„ ๋‹ค๋ฃจ๋‹ค ๋ณด๋ฉด HTTP ํ”„๋กœํ† ์ฝœ ํ—ค๋”๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒฝ์šฐ๋„ ์ข…์ข… ์žˆ์Œ
์Šคํ”„๋ง MVC์˜ ์‚ฌ์ƒ์€ HttpServletRequest(์š”์ฒญ)๋‚˜ HttpServletResponse(์‘๋‹ต)์„ ์ง์ ‘ ํ•ธ๋“ค๋ง ํ•˜์ง€ ์•Š์•„๋„
์ด๋Ÿฐ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์ž‘์„ฑ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ResponseEntity๋ฅผ ํ†ตํ•ด์„œ ์›ํ•˜๋Š” ํ—ค๋” ์ •๋ณด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ• ์ˆ˜์žˆ์Œ
ResponseEntity๋Š” HttpHeaders ๊ฐ์ฒด๋ฅผ ๊ฐ™์ด ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋ฅผ ํ†ตํ•ด์„œ ์›ํ•˜๋Š” HTTP ํ—ค๋” ๋ฉ”์‹œ์ง€๋ฅผ ๊ฐ€๊ณตํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅ
ex07()์˜ ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ €์—๋Š” JSON ํƒ€์ž…์ด๋ผ๋Š” ํ—ค๋” ๋ฉ”์‹œ์ง€์™€ 200 OK๋ผ๋Š” ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ์ „์†กํ•จ

SampleController์— ex07() ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

07()๋ฉ”์„œ๋“œ์˜ ๋ฆฌํ„ด ํƒ€์ž…์€ ResponseEntity๋กœ ํ•œ๋‹ค log๋ฅผ ๊ธฐ๋กํ•˜๊ณ  Stringํ˜• ๋ณ€์ˆ˜ msg๋ฅผ ๋งŒ๋“ฌ ๊ทธ๋ฆฌ๊ณ  ๊ฐ’์œผ๋กœ "{"name": "ํฌ๋กœ์šฐ"}"๋ฅผ ์คŒ
\" ์ด๋ถ€๋ถ„์ด ์ž˜ ์ดํ•ด ์•Š๊ฐ€์„œ ์•Œ์•„๋ณด๋‹ˆ JSON์„ ์ด์šฉํ• ๋•Œ ํŠน์ •ํ•œ ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“  ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž์—ด์ž„
ํ†ต์œผ๋กœ ๋ณด๋ฉด"{"name": "ํฌ๋กœ์šฐ"}" Java์˜ ๋ฌธ์ž์—ด ํ˜•์‹์ธ ์•ž๋’ค ํฐ๋”ฐ์˜ดํ‘œ๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ์‹ค์ œ์ ์œผ๋กœ ์„œ๋ฒ„์— ๋ณด๋‚ธ ๋ฌธ์ž๋Š” {"name": "ํฌ๋กœ์šฐ"}์ด๋ฉฐ
JSON์€ {"name": "Crow"}์ด๋Ÿฐ ํ˜•์‹์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋Œ€ "(ํฐ๋”ฐ์˜ดํ‘œ)๋ฅผ ํ‘œํ˜„ํ•  ๋ฐฉ๋ฒ•์ด\"์ž„
๊ทธ๋ฆฌ๊ณ  HttpHeaders๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋Œ€ HttpHeaders header = * ํ˜•์‹์ด ์•„๋‹Œ org.springframework.http.HttpHeaders header = *์ด๋Ÿฐ ํ˜•์‹์„ ์‚ฌ์šฉํ•ด์•ผํ•จ ์ด์œ ๋Š” ์›๋ž˜ ์ด๋Ÿฐ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ๋Š”๋Œ€
org.springframework.http.HttpHeaders๊ฐ€ import๋˜์ง€ ์•Š์Œ ์ด๊ฒŒ ์ด ๋ฒ„์ „๊ณผ ๊ด€๋ จ๋œ๊ฑฐ ๊ฐ™์Œ ์ผ๋‹จ ๋‹ค์Œ์— ๋…ธํŠธ๋ถ์œผ๋กœ
์‹คํ—˜ํ•ด ๋ณด๊ฒ ์Œ
๋‹ค์Œ์œผ๋กœ "Content-Type"๋ผ๋Š” ํ—ค๋”์™€ "application/json;charset=UTF-8"๋ผ๋Š” ๊ฐ’์„ ์ž…๋ ฅํ•ด์คŒ
๋งˆ์ง€๋ง‰์œผ๋กœ ResponseEntity๋กœ msg์— ์ €์žฅํ•œ JSONํƒ€์ž…๊ณผ ํ—ค๋” ์ƒํƒœ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•จ