데브허브 | DEVHUB | Http ExchangeClient port 구성Http ExchangeClient port 구성
- HTTP Exchange 어노테이션을 활용하여 컨트롤러와 유사하게 인터페이스 기반 REST 클라이언트를 구성합니다. 🌐
- 기존 포트-어댑터 아키텍처의 PostClient 인터페이스를 활용하여 HTTP Exchange 통합 작업을 간소화합니다. 🏗️
- 실제 외부 API 호출 없이 MockRestServiceServer를 사용하여 HTTP Exchange 설정의 정확성을 검증합니다. 🧪
- @GetExchange, @PostExchange 등 HTTP 메서드별 어노테이션과 @PathVariable, @RequestBody를 사용하여 URL 및 파라미터를 매핑합니다. 🏷️
- IDE 기능을 통해 클라이언트 인터페이스에서 서비스 로직, 액티비티 다이어그램까지 메서드 호출 흐름을 추적하여 API 요청 방식을 파악합니다. 🔍
- 이전에 설정된 PostProxyConfig를 통해 RestClient 프록시 빈을 제공받아 HTTP Exchange가 정상 작동하도록 합니다. ⚙️
- MockRestServiceServer와 RestClientAdapterFactory가 동일한 RestClient.Builder 인스턴스를 공유하도록 하여 목 서버가 클라이언트 요청을 효과적으로 가로채도록 합니다. 🤝
mockServer.expect().andRespond() 패턴으로 예상 요청과 목 응답을 정의하고, mockServer.verify() 및 반환 값에 대한 어설션으로 테스트를 완료합니다. 🎯
- 반복되는 목 서버 설정 코드를
@BeforeEach 또는 재사용 가능한 private 메서드로 리팩토링하여 테스트 코드의 유지보수성을 높입니다. ♻️
- 과제로 스프링의 슬라이스 테스트 도구(예: @WebMvcTest, @DataJpaTest)를 조사하여 특정 계층에 대한 집중적인 테스트 방법을 학습하도록 권장합니다. 🧩