์ด๊น ์์ด ์คํ๋ง ํ๋ก์ ํธ๋ฅผ ์งํ์ค์ด๋ค. ์ผ์ฃผ์ผ ์ View๋ฅผ ์์ ๊ณ ์ข ๋ Back์ ์ง์ค๋ api๋ฅผ ์ค๊ณํ๋ ๊ฒ์ผ๋ก ์ด์ ์ ๋ง์ท๋ค.
handler ๋ฉ์๋์ ๋ฐํ ๊ฐ์ ๋จ์ํ json ํ์์ผ๋ก ๋ณด์ฌ์ฃผ๋ฉด ๋๋ ๊ฑฐ ์๋๋? ๋ผ๊ณ ์๊ฐ์ ํ์ง๋ง ๊ฒ์์ ์ฌ๋ฌ๋ฒ ํด๋ณด๋ ์ ๋ง ํ์คํ๊ฒ ์๊ธฐ ์ ๊น์ง๋ ํจ๋ถ๋ก ์๊ฐํ์ง ๋ง์๋ผ๋ ๊ฒฐ๋ก ์ ๋ด๋ ธ๋ค.. ์ด๋ ดํ์ด ๋ฐฐ์ ๋ rest api๊ฐ ๋ ์ฌ๋๊ณ ์ ๋๋ก ๊ณต๋ถ๋ฅผ ํ๊ณ ์ด์ฉ์ ํด์ restfulํ api๋ฅผ ๋ง๋ค์ด์ผ๊ฒ ๋ค๋ ์๊ฐ์ ๊ฐ๋ ์ ๋ฆฌ๋ฅผ ๊ฒฐ์ฌํ๊ฒ ๋์๋ค. ๋ ๋ฐํ ํ์ ์ผ๋ก ResponseEntity์ ์ฌ์ฉ์ด ๋ง์๋ฐ ์ด ํ์ ์ ์ ์ฌ์ฉํ๋์ง๋ ํ๋ฒ ์์๋ด์ผ๊ฒ ๋ค.
Rest๊ฐ ์ ํํ ๋ญ๊น??
Representational State Transfer -> ์์์ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถํ์ฌ ํด๋น ์์์ ์ํ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ชจ๋ ๊ฒ์ ์๋ฏธ
์ฆ REST๋
- HTTP URI(Uniform Resource Identifier)๋ฅผ ํตํด ์์(Resource)์ ๋ช ์ํ๊ณ ,
- HTTP Method(POST, GET, PUT, DELETE)๋ฅผ ํตํด
- ํด๋น ์์(URI)์ ๋ํ CRUD Operation์ ์ ์ฉํ๋ ๊ฒ์ ์๋ฏธ
REST ๊ตฌ์ฑ ์์
- ์์(Resource) : HTTP URI
- ์์์ ๋ํ ํ์(Verb) : HTTP Method
- ์์์ ๋ํ ํ์์ ๋ด์ฉ (Representations) : HTTP Message Pay Load
REST์ ํน์ง
- Server-Client(์๋ฒ-ํด๋ผ์ด์ธํธ ๊ตฌ์กฐ)
- Stateless(๋ฌด์ํ)
- Cacheable(์บ์ ์ฒ๋ฆฌ ๊ฐ๋ฅ)
- Layered System(๊ณ์ธตํ)
- Uniform Interface(์ธํฐํ์ด์ค ์ผ๊ด์ฑ)
REST๋ฅผ ์ฌ์ฉํ๋ ์ด์
- Http ํ์ค ํ๋กํ ์ฝ์ ๋ฐ๋ฅด๋ ๋ชจ๋ ํ๋ซํผ์์ ์ฌ์ฉ์ด ๊ฐ๋ฅํจ
- ๋ฒ์ฉ์ฑ์ ๋ณด์ฅํจ
- API ๋ฉ์์ง๋ฅผ ํตํด ์๋ํ๋ ๋ฐ๋ฅผ ์ฝ๊ฒ ํ์ ๊ฐ๋ฅ
- ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์ญํ ์ ๋ช ํํ ๋ถ๋ฆฌํจ!
REST API๋?
REST์ ์๋ฆฌ๋ฅผ ๋ฐ๋ฅด๋ API
REST์ ์ค๊ณ ๊ท์น
- URI๋ ๋ช ์ฌ๋ฅผ, ์๋ฌธ์๋ฅผ ์ฌ์ฉํด์ผ ํจ.
- ๋ง์ง๋ง์ / ์ ํฌํจํ์ง ์๋๋ค. (๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๋ํ๋ด๊ธฐ ๋๋ฌธ)
- ์ธ๋๋ฐ ๋์ ํ์ดํ์ ์ฌ์ฉ
- ํ์ผ ํ์ฅ์๋ URI์ ํฌํจํ์ง ์์
- ํ์ ์์ฒด๋ฅผ ํฌํจํ์ง ์์.
HttpEntity ํด๋์ค
Http ์์ฒญ ๋๋ ์๋ต์ ํด๋นํ๋ HttpHeader์ HttpBody๋ฅผ ํฌํจํ๋ ํด๋์ค
ResponseEntity ํด๋์ค
HttpEntity ํด๋์ค๋ฅผ ์์๋ฐ์ ๊ตฌํํ ํด๋์ค๋
RequestEntity, ResponseEntity
๋ฐ๋ผ์ ResponseEntity ๋ HttpStatus, HttpHeaders, HttpBody๋ฅผ ํฌํจ!
์ฐธ์กฐ : https://devlog-wjdrbs96.tistory.com/182
[Spring Boot] ResponseEntity๋ ๋ฌด์์ธ๊ฐ?
๋จผ์ REST API๊ฐ ๋ฌด์์ธ์ง๋ ์๋ ๋ธ๋ก๊ทธ๋ฅผ ๋จผ์ ์ ์ฝ์ด๋ณด์. https://meetup.toast.com/posts/92 REST API ์ ๋๋ก ์๊ณ ์ฌ์ฉํ๊ธฐ : TOAST Meetup REST API ์ ๋๋ก ์๊ณ ์ฌ์ฉํ๊ธฐ meetup.toast.com 1. ResponseEn..
devlog-wjdrbs96.tistory.com
[๋คํธ์ํฌ] REST API๋? REST, RESTful์ด๋?
REST API๋ REST๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง API๋ฅผ ์๋ฏธํฉ๋๋ค. REST API๋ฅผ ์๊ธฐ ์ํด REST๋ถํฐ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. REST๋? REST(Representational State Transfer)์ ์ฝ์๋ก ์์์ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถํ์ฌ ํด๋น ์์..
khj93.tistory.com
'๐ Spring Framework > Spring ๊ฐ๋ ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
WebFlux๋ ๋ฌด์์ด๊ณ , ์ ๋์๊ณ , ์ธ์ ์ฐ์ด๋๊ฐ? (0) | 2022.08.31 |
---|---|
Spring Security [2] - ์์ธ ์ฒ๋ฆฌ AuthenticationEntryPoint & AccessDeniedHandler (0) | 2022.08.21 |
Spring Security [1] - JWT๋ฅผ ์ด์ฉํ REST API ์ธ์ฆ๊ณผ ์ธ๊ฐ (0) | 2022.08.18 |
2022.05.17 ใ@Transactional ์ต์ ๋ฐ ์ฑ๋ฅใ (0) | 2022.05.17 |
2022.05.13 ใSession๊ณผ Token(Jwt) & ์ธ์ฆ๊ณผ ์ธ๊ฐใ (0) | 2022.05.13 |