今天分享在使用webclient
进行开发时的的一个小技巧
例如这个方法:
1 |
org.springframework.web.reactive.function.client.DefaultWebClient.DefaultRequestBodyUriSpec#uri(java.lang.String, java.lang.Object...) |
此处如果直接使用:
1 |
webClient.get().uri("/dev/v1/kicking-rule?appid={}", appId) |
或者
1 |
webClient.get().uri("/dev/v1/kicking-rule?appid=%s", appId) |
哪怕
1 |
webClient.get().uri("/dev/v1/kicking-rule?appid=%s", appId) |
都是不行的。。。
正确的方式应该是:
1 |
webClient.get().uri("/dev/v1/kicking-rule?appid={appId}", appId) |
就想这样:
public Mono<RtcKickRuleQueryRes> getRtcKickRule() { return webClient.get() .uri("/dev/v1/kicking-rule?appid={appId}", appId) .header(RtcRequestConst.AUTHORIZATION_KEY, getAuthorization()) .retrieve().bodyToMono(String.class) .map(str -> JacksonUtils.toObj(str, new TypeReference<>() { })); }