Class TestRestTemplateHttpClientAdapter

java.lang.Object
ai.specformula.spring.http.TestRestTemplateHttpClientAdapter
All Implemented Interfaces:
HttpClientAdapter

public class TestRestTemplateHttpClientAdapter extends Object implements HttpClientAdapter
TestRestTemplate 轉接 HttpClientAdapter 的 Adapter。

適用於 @SpringBootTest(webEnvironment = RANDOM_PORT) 等需要啟動真實伺服器的場景。 將 framework-agnostic 的 TestRequest 轉換為 TestRestTemplate 呼叫, 再將 ResponseEntity 轉換為 TestResponse 回傳。

內部使用 Apache HttpClient 取代預設的 HttpURLConnection,避免 JDK 內建的 401 authentication retry 機制導致 HttpRetryException 與 response body 遺失。

TestRestTemplate 型別在 Boot 4 由 ...boot.test.web.client 搬至 ...boot.resttestclient,故以 Object 持有、經 SpringTestCompat 反射呼叫,使本類在 Spring Boot 3/4 皆可編譯與執行(java-0008)。