RestTemplate๊ณผ WebClient
1. API ํต์
2. RestTemplate๊ณผ WebClient
1. API ํต์
ํด๋ผ์ด์ธํธ์์ ํ์๊ฐ์ ์ ํ ๋, ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๊ธฐ ์ํด์๋ ์๋ฒ์์ ํต์ ์ด ํ์ํฉ๋๋ค.
๋ง์ฝ ํด๋ผ์ด์ธํธ๊ฐ ์ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๊ฒ ๋๋ฉด, ๋ณด์์ ๋งค์ฐ ์ทจ์ฝํด์ง๋ฉฐ ํดํน ๋ฑ์ ์ํ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํด๋ผ์ด์ธํธ๋ ๋ฐฑ์๋ ์๋ฒ(ํ๋ก ํธ์ ์๋ฒ ๊ฐ API)๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ ์ ์ผ๋ก ํต์ ํด์ผ ํฉ๋๋ค.
์ด๋ ์ฌ์ฉ๋๋ ๊ฒ์ด ๋ฐ๋ก HTTP ๊ธฐ๋ฐ์ API ํต์ ์ด๊ณ , ์๋ฒ ๋ด๋ถ์์ ์ธ๋ถ ์์คํ
์ด๋ ๋ค๋ฅธ ์๋น์ค์ ํต์ ํ ๋๋ RestTemplate์ด๋ WebClient ๊ฐ์ HTTP ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
2. RestTemplate๊ณผ WebClient
RestTemplate์ ๋๊ธฐ ๋ฐฉ์์ด๊ณ , Non-Bloacking์ด ๋ถ๊ฐ๋ฅํ๋ฉฐ ๊ฐ๋จํ ์์ฒญ์๋ ์ ํฉํฉ๋๋ค.
์ ํต์ ์ธ MVC ๊ธฐ๋ฐ์์ ์ฌ์ฉ๋ฉ๋๋ค.
WebClient๋ ๋น๋๊ธฐ ๋ฐฉ์์ด๊ณ , Non-Blocking์ด ๊ฐ๋ฅํ๋ฉฐ ๊ณ ์ฑ๋ฅ ๋ฐ ๋๊ท๋ชจ ์์ฒญ ์ฒ๋ฆฌ์ ์ ํฉํฉ๋๋ค.
๋ฆฌ์กํฐ๋ธ, ๊ณ ์ฑ๋ฅ, ๋ง์ดํฌ๋ก์๋น์ค์์ ์ฌ์ฉ๋ฉ๋๋ค.
*Non-Blocking์ ํธ์ถํ ์์คํ ์ ๋์์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋์์ ๋ค๋ฅธ ์์ ์ ์งํํ ์ ์์ด์ ์์ ์๋๊ฐ ๋นจ๋ผ์ง๋ ๋ฐฉ์์ ๋๋ค.
์ฐธ๊ณ ์ฌ์ดํธ
Spring WebClient
์คํ๋ง ์ดํ๋ฆฌ์ผ์ด์ ์์ HTTP ์์ฒญํ ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ผ๋ก RestTemplate๊ณผ WebClient๊ฐ ์๋ค. ์คํ๋ง 5.0 ์ด์ ๊น์ง๋ ํด๋ผ์ด์ธํธ์์ HTTP ์ ๊ทผ์ ์ํด ์ฌ์ฉํ ๊ฒ์ RestTemplate ์ด์๋ค. ์คํ๋ง 5.0 ์์ Web
velog.io
๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์ !
ํผ๋๋ฐฑ์ ์ธ์ ๋ ํ์์ ๋๋ค <3
'๐ฉ๐ปโ๐ป Dev' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Monitor] Prometheus, Grafana (0) | 2025.03.27 |
---|---|
[IntelliJ] Code with me ์ฌ์ฉํ๊ธฐ (0) | 2025.03.22 |
[API] Springboot์ Gemini API ์ฐ๋ํ๊ธฐ (์์ ์ค) (0) | 2025.03.20 |
[API] Springboot์ Slack API ์ฐ๋ํ๊ธฐ (์์ ์ค) (0) | 2025.03.19 |
[DB] ๋ ผ๋ฆฌ ์ญ์ (Soft Delete)์ ๋ฌผ๋ฆฌ ์ญ์ (Hard Delete) (0) | 2025.03.18 |