Код: Выделить всё
// these are pretty basic dependencies so I won't include imports or pom
@Test
void testIfNoHeadersAreAddedToRequestImplicitly() {
Mono responseMono = WebClient.builder()
.baseUrl("https://httpbin.org")
.build()
.get()
.uri("/headers")
.retrieve()
.bodyToMono(new ParameterizedTypeReference() {});
StepVerifier.create(responseMono.map(m -> m.get("headers")).cast(Map.class))
.expectNextMatches(Map::isEmpty)
.verifyComplete();
}
Код: Выделить всё
org.springframework.boot
spring-boot-starter-parent
3.1.5
17
2022.0.4
org.springframework.cloud
spring-cloud-starter
org.springframework.cloud
spring-cloud-starter-gateway
org.springframework.boot
spring-boot-starter-test
test
org.wiremock
wiremock-standalone
3.5.1
test
io.projectreactor
reactor-test
test
org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import
Пока моя отладка этой проблемы не увенчалась успехом. – включая отладку DefaultWebClient.exchange(), которая, похоже, работает должным образом
Однако я обнаружил, что этому обратному вызову передается неправильный запрос
Код: Выделить всё
// org.springframework.http.client.reactive.ReactorClientHttpConnector.connect(..)
return requestSender
// put a breakpoint on the lambda
.send((request, outbound) -> requestCallback.apply(adaptRequest(method, uri, request, outbound)))
Проблема воспроизводится также с помощью WireMock, поэтому вряд ли он имеет какое-либо отношение к httpbin (кстати, если вы с ним не знакомы, вы можете посетить страницу API)
Подробнее здесь: https://stackoverflow.com/questions/782 ... -it-happen
Мобильная версия