데브허브 | DEVHUB | Restclient 프록시 configRestclient 프록시 config
- Spring 6부터 도입된 HTTP 인터페이스 방식을 RestClient와 함께 사용할 경우, 프록시 빈 설정이 필수적입니다. 🔗
- 프록시 빈은
RestClient.Builder로 RestClient를 생성하고, RestClientAdapter를 거쳐 HttpServiceProxyFactory를 통해 HTTP 인터페이스 구현체를 생성하는 방식으로 만듭니다. 🛠️
- HTTP 인터페이스는
@HttpExchange 어노테이션으로 정의되며, 이는 다음 강의에서 상세히 다룰 예정입니다. 🏷️
application.yml에 정의된 URL 등의 설정값은 @ConfigurationProperties 어노테이션이 붙은 레코드(또는 클래스)를 통해 타입 세이프하게 주입받아 활용합니다. ⚙️
- 설정 파일은 별도의
config 패키지보다 해당 RestClient를 사용하는 클라이언트 인터페이스와 가까운 곳에 배치하는 것이 효율적입니다. 📂
- 여러 HTTP 인터페이스가 각각 다른 베이스 URL을 사용하는 경우, 각 인터페이스마다 별도의 프록시 설정을 해주어야 합니다. 🔄
- Spring Framework 7부터
HttpServiceClientService를 통한 간편한 설정 방식이 도입될 예정이나, 아직은 초기 단계입니다. 🚀
@ConfigurationProperties의 설정값 주입은 ApplicationContextRunner와 @TestConfiguration을 활용하여 테스트할 수 있습니다. 🧪