4์ฃผ์ฐจ๋ฅผ ๋ง์ดํ ํ ํ๋ก์ ํธ ๋ฉํ ๋ง. ์ฐ๋ฆฌ ํ์ ๊ณํ๋๋ก๋ผ๋ฉด ์ด๋ฒ์ฃผ๊น์ง๊ฐ 1์ฐจ ์คํ๋ฆฐํธ์๋๋ฐ, ์ผ์ ์ด ์ด์ง ๋ฐ๋ฆฌ๋ฉด์ ์ถ๊ฐ ๊ธฐ๋ฅ ๋์
์ ๋ฉํ ๋ง ์ข
๋ฃ ์ดํ๋ก ๋๊ธฐ๊ฒ ๋์๋ค. ์๋ฌดํผ ์ด๋ฒ์ฃผ ํ๊ณ ๋ ์์! 1. ๋ฌด์จ ์ผ์ด ์์๋์? ์ด๋ฒ ์ฃผ๋ ๊ฑฐ์ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋ชฐ๋ํ๋ค. ์์ํ๊ฒ ๋์์ธ์ ์์ ํ๋ ๋ฑ ๋ค๋ฅธ ์
๋ฌด๋ ์์์ง๋ง, ์ ๋ฐ์ ์ผ๋ก 1์ฐจ ์คํ๋ฆฐํธ๋ฅผ ๋ฌด์ฌํ ์๋ฃํ๋ ๊ฒ์ ์ค์ ์ ๋์๋ค. (1) ๊ตฌ๊ธ ๋ก๊ทธ์ธ ๊ตฌํ ์ด๋ฒ ์ฃผ์๋ ์์
๋ก๊ทธ์ธ์ ๊ตฌํํ๋ค. ์๋ ์นด์นด์คํก ๋ก๊ทธ์ธ๋ ๊ตฌํํ๋ ค๊ณ ํ๋๋ฐ, ์์
๋ก๊ทธ์ธ ๊ตฌํ์ด ์ฒ์์ด๋ผ ์๊ฐ๋ณด๋ค ๋ง์ ์๊ฐ์ ์์ํ๋ ๋ฐ๋์ ๊ตฌ๊ธ ๋ก๊ทธ์ธ๋ง ๊ตฌํํ๋ค. (2) OpenFeign vs WebClient ์์
๋ก๊ทธ์ธ์ ๋์
ํ๋ฉด์ ์์
์๋น์ค์ ์์ฒญ์ ๋ณด๋ผ ์ผ์ด ์๊ฒผ๋ค. API๋ง ๊ฐ๋ฐํ๋ ..
1. ๋ฌธ์ ์ฝ๋ import static org.junit.jupiter.api.Assertions.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; @WebMvcTest(TagController.class) class TagControllerTest { @Autowired private MockMvc mockMvc; @Autowired private ObjectMapper objectMapper; @MockBean private TagServic..
2์ฃผ์ฐจ๋ฅผ ๋ง์ดํ ํ ํ๋ก์ ํธ ๋ฉํ ๋ง ํ๊ณ . ์ฌ์ค 2์ฃผ์ฐจ์๋ ๊ฐ๋ฐ์ ์์ํ๋ ๊ฒ ๋ชฉํ์๋๋ฐ, ๊ธฐํ์ด ๊ธธ์ด์ง๋ฉด์ ๊ฐ๋ฐ์ ์งํํ์ง ๋ชปํ๋ค. 1. ๋ฌด์จ ์ผ์ด ์์๋์? ์ด๋ฒ์ฃผ๋ ์ ๋ง ๋ง์ ์ผ์ด ์์๊ณ , ๋ง์ ์ผ์ ํ๋ค. ํ๋ฃจ์ ๊ธฐ๋ณธ 6์๊ฐ ์ด์์ ํ๋ก์ ํธ์ ํฌ์ํ๋ค๐ฅฒ ์์
์ ์์
์ ์์
... (1) ๊ธฐํ ํ์ 1์ฐจ ํผ๋๋ฐฑ์ ๊ธฐ๋ฐ์ผ๋ก ๊ธฐํ์ ๋ง์ด ์์ ํ๋ค. ํ๋ก์ ํธ ๋ณผ๋ฅจ์ด ํฌ๋ค๋ ํผ๋๋ฐฑ์ ๋ฐ์์ ์๋ ์๋ ๋ชฉํ ๊ธฐ๋ฅ์ ์์ ๊ณ , ๋์ ๋ณด์ ์์คํ
์ ๋ฃ์ด ์กฐ๊ธ ๋ ๊ฐ๋ฒผ์ด ๋ฐฉํฅ์ผ๋ก ๊ฐ๊ธฐ๋ก ํ๋ค. ์๋ ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ๋ชฉํ๋ '์ค์๋ฅผ ํตํด ์ฑ์ฅํ ์ ์๋ค๋ ๊ฒ์ ๋ณด์ฌ์ฃผ์'๋ ๊ฒ์ด์๋๋ฐ, ์ค์๋ ๋ง์ด ํ๋ฉด ์ข์ ๊ฑด๊ฐ? ๋ผ๋ ๋ฌผ์ ์๋ ์๋น์ค ์ฃผ์ ๊ฐ '์ฑ์ฅ์ ์ค์ ์ ๋ ์คํจ ๊ด๋ฆฌ ์๋น์ค'์ '์๋ก์ ์ค์ ์ ๋ ์ค์ ๊ณต์ ์..