Spring framework 5.2 以後=Spring Boot 2.2 以後では WebClient のレスポンスの取り扱いが便利になっている件
https://twitter.com/making/status/1192216994147270656?s=20
WebClient からの response status などを取得しやすくなっている。 便利。
val logger = LoggerFactory.getLogger(WebfluxSampleApplication::class.java)
val url = "http://example.com/"
val webClient = WebClient.builder()
.build()
val entityMono = webClient.get().uri("http://example.com/")
.retrieve()
.toEntity(String::class.java)
logger.info("Sent http request. url=$url")
val entity = entityMono.block()!!
if (entity.statusCode.is2xxSuccessful) {
val body = entity.body
logger.info("HTTP request succeeded. url=$url status=${entity.statusCodeValue} length=${body?.length}")
// process response data...
println(body)
} else {
logger.info("HTTP request failed. url=$url status=${entity.statusCodeValue} body=${entity.body}")
}
Published: 2019-11-07(Thu) 08:58