Bibi's DevLog ๐ค๐
[Spring] ResponseEntity, @RestController, @RequestBody, @ResponseBody ๋ณธ๋ฌธ
๐ฅ BE ๋ฐฑ์๋/Spring ์คํ๋ง
[Spring] ResponseEntity, @RestController, @RequestBody, @ResponseBody
๋น๋น bibi 2021. 4. 30. 19:59ResponseEntity, @RestController
, @RequestBody
, @ResponseBody
// UPDATE
@PutMapping("/cards/{id}")
public ResponseEntity editCards(@PathVariable Long id, @RequestBody CardDto newCardDto) {
cardService.edit(id, newCardDto);
return new ResponseEntity<>("SUCCESS", HttpStatus.OK);
}
ResponseEntity
HttpEntity
: HTTP ์์ฒญ ๋๋ ์๋ต์ ํด๋นํ๋ HTTP Header์ HTTP Body๋ฅผ ํฌํจํ๋ Spring FrameWork์ ํด๋์ค์ด๋ค.- ์ด๋ฌํ
HttpEntity
๋ฅผ ์์๋ฐ์ ๊ตฌํํ ํด๋์ค๊ฐRequestEntity
,ResponseEntity
์ด๋ค. ResponseEntity
: ์ฌ์ฉ์์ HttpRequest์ ๋ํ ์๋ต ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ํด๋์ค.- HttpStatus, HttpHeaders, HttpBody๋ฅผ ํฌํจํ๋ค.
- ์ ์ฐ๋๊ฐ?
- ์ผ๋ฐ์ ์ธ ์ฝ๋์ ๋ฐํ๊ฐ์ '๊ฐ'๋ง์ผ๋ก ์ถฉ๋ถํ์ง๋ง, API์ ๋ฐํ ๋ฆฌ์์ค๋ ๊ฐ๋ง์ผ๋ก ์ถฉ๋ถํ์ง ์๊ธฐ ๋๋ฌธ.
- ์ํ์ฝ๋, ์๋ต ๋ฉ์์ง๋ฅผ ๋ฐํํ ์ ์๋ค.
@RestController
์ฐธ๊ณ- ๊ทธ๋ฅ
@Controller
์์ ์ฐจ์ด? = HTTP ResponseBody๊ฐ ์์ฑ๋๋ ๋ฐฉ์์ด ๋ค๋ฅด๋ค. @Controller
: ์ฃผ๋ก View๋ฅผ ๋ฐํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.- View ๋ฐํ์ ์ํด ๋ด๋ถ์ ์ผ๋ก ViewResolver๊ฐ ๋์ํ๋ค.
@RestController
: JSONํํ๋ก ๊ฐ์ฒด ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค.@ResponseBody
์ด๋ ธํ ์ด์ ์ ํ์ฉํด Controller๊ฐ JSONํํ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐํํ๋ค.- JSON ๋ฐ์ดํฐ ๋ฐํ์ ์ํด ๋ด๋ถ์ ์ผ๋ก HttpMessageConverter๊ฐ ๋์ํ๋ค.
- ๋ฐํํ ๋ฐ์ดํฐ์ ๋ฐ๋ผ ์ฌ์ฉ๋๋ Converter๊ฐ ๋ฌ๋ผ์ง๋ค.
- ๊ทธ๋ฅ
@RequestBody
์@ResponseBody
. ์ฐธ๊ณ- ์คํ๋งMVC์์, ํด๋ผ์ด์ธํธ๊ฐ ์ ์กํ ๋ฐ์ดํฐ(JSON๋ฑ)๋ฅผ ์ปจํธ๋กค๋ฌ์์ ์๋ฐ ๊ฐ์ฒด๋ก ๋ณํํด ๋ฐ๊ณ & ์๋ฐ ๊ฐ์ฒด๋ฅผ ๋ฐ์ดํฐ(JSON ๋ฑ)๋ก ๋ณํํด ์ ์กํ ์ ์๊ฒ ํจ.
@RequestBody
- HTTP Request์ Body๋ฅผ ์๋ฐ ๊ฐ์ฒด๋ก ๋ณํํ ๋ ์ฌ์ฉ
@ResponseBody
- ์๋ฐ ๊ฐ์ฒด๋ฅผ HTTP Response์ Body๋ก ๋ณํํ ๋ ์ฌ์ฉ
'๐ฅ BE ๋ฐฑ์๋ > Spring ์คํ๋ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] @Transactional, ํธ๋์ญ์ (0) | 2021.04.30 |
---|---|
[Spring] @Query (0) | 2021.04.30 |
Path Variable๊ณผ Query Parameter (์คํ๋ง์ @RequestParam๊ณผ @PathVariable) (0) | 2021.04.30 |
[Spring Data JDBC] Spring Data JDBC๋? (0) | 2021.04.30 |
[SpringDataJDBC] Map์ผ๋ก 1:N ๊ด๊ณ ๋งตํํ๊ธฐ (0) | 2021.04.30 |