๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Dev

[API ํ†ต์‹ ] RestTemplate๊ณผ WebClient

jcowwk 2025. 4. 19. 15:15

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