web-dev-qa-db-ja.com

Spring WebClientで一度に複数のヘッダーを設定するにはどうすればよいですか?

私は残りのクライアントにヘッダーを設定しようとしましたが、毎回書く必要があります

webclient.get().uri("blah-blah")
         .header("key1", "value1")
         .header("key2", "value2")...

Headers()メソッドを使用してすべてのヘッダーを同時に設定するにはどうすればよいですか?

4
Amit Kumar

これらのヘッダーがリクエストごとに変更される場合は、次を使用できます。

webClient.get().uri("/resource").headers(httpHeaders -> {
    httpHeaders.setX("");
    httpHeaders.setY("");
});

これはタイピングを節約しません。したがって、リクエストごとに変化しないヘッダーについては、クライアントの構築中にこれらをデフォルトヘッダーとして設定できます。

WebClient webClient = WebClient.builder().defaultHeader("...", "...").build();
WebClient webClient = WebClient.builder().defaultHeaders(httpHeaders -> {
    httpHeaders.setX("");
    httpHeaders.setY("");
}).build();
1
Brian Clozel