Browse Source

Add nullability annotations to module/spring-boot-restclient

See gh-46587
pull/46675/head
Moritz Halbritter 6 months ago
parent
commit
9918abfa99
  1. 6
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/BasicAuthentication.java
  2. 36
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/RestTemplateBuilder.java
  3. 6
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/RestTemplateBuilderClientHttpRequestInitializer.java
  4. 8
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/RootUriTemplateHandler.java
  5. 8
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/AbstractRestClientProperties.java
  6. 6
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/HttpMessageConvertersRestClientCustomizer.java
  7. 23
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/PropertiesRestClientCustomizer.java
  8. 6
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientBuilderConfigurer.java
  9. 25
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestTemplateBuilderConfigurer.java
  10. 3
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/package-info.java
  11. 1
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfiguration.java
  12. 14
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/RestClientPropertiesHttpServiceGroupConfigurer.java
  13. 3
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/package-info.java
  14. 3
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/observation/package-info.java
  15. 3
      module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/package-info.java

6
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/BasicAuthentication.java

@ -18,6 +18,8 @@ package org.springframework.boot.restclient; @@ -18,6 +18,8 @@ package org.springframework.boot.restclient;
import java.nio.charset.Charset;
import org.jspecify.annotations.Nullable;
import org.springframework.http.HttpHeaders;
import org.springframework.util.Assert;
@ -33,9 +35,9 @@ class BasicAuthentication { @@ -33,9 +35,9 @@ class BasicAuthentication {
private final String password;
private final Charset charset;
private final @Nullable Charset charset;
BasicAuthentication(String username, String password, Charset charset) {
BasicAuthentication(String username, String password, @Nullable Charset charset) {
Assert.notNull(username, "'username' must not be null");
Assert.notNull(password, "'password' must not be null");
this.username = username;

36
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/RestTemplateBuilder.java

@ -30,6 +30,8 @@ import java.util.Set; @@ -30,6 +30,8 @@ import java.util.Set;
import java.util.function.Supplier;
import java.util.function.UnaryOperator;
import org.jspecify.annotations.Nullable;
import org.springframework.beans.BeanUtils;
import org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder;
import org.springframework.boot.http.client.ClientHttpRequestFactorySettings;
@ -74,19 +76,19 @@ public class RestTemplateBuilder { @@ -74,19 +76,19 @@ public class RestTemplateBuilder {
private final boolean detectRequestFactory;
private final String rootUri;
private final @Nullable String rootUri;
private final Set<HttpMessageConverter<?>> messageConverters;
private final @Nullable Set<HttpMessageConverter<?>> messageConverters;
private final Set<ClientHttpRequestInterceptor> interceptors;
private final ClientHttpRequestFactoryBuilder<?> requestFactoryBuilder;
private final @Nullable ClientHttpRequestFactoryBuilder<?> requestFactoryBuilder;
private final UriTemplateHandler uriTemplateHandler;
private final @Nullable UriTemplateHandler uriTemplateHandler;
private final ResponseErrorHandler errorHandler;
private final @Nullable ResponseErrorHandler errorHandler;
private final BasicAuthentication basicAuthentication;
private final @Nullable BasicAuthentication basicAuthentication;
private final Map<String, List<String>> defaultHeaders;
@ -116,10 +118,11 @@ public class RestTemplateBuilder { @@ -116,10 +118,11 @@ public class RestTemplateBuilder {
}
private RestTemplateBuilder(ClientHttpRequestFactorySettings requestFactorySettings, boolean detectRequestFactory,
String rootUri, Set<HttpMessageConverter<?>> messageConverters,
Set<ClientHttpRequestInterceptor> interceptors, ClientHttpRequestFactoryBuilder<?> requestFactoryBuilder,
UriTemplateHandler uriTemplateHandler, ResponseErrorHandler errorHandler,
BasicAuthentication basicAuthentication, Map<String, List<String>> defaultHeaders,
@Nullable String rootUri, @Nullable Set<HttpMessageConverter<?>> messageConverters,
Set<ClientHttpRequestInterceptor> interceptors,
@Nullable ClientHttpRequestFactoryBuilder<?> requestFactoryBuilder,
@Nullable UriTemplateHandler uriTemplateHandler, @Nullable ResponseErrorHandler errorHandler,
@Nullable BasicAuthentication basicAuthentication, Map<String, List<String>> defaultHeaders,
Set<RestTemplateCustomizer> customizers, Set<RestTemplateRequestCustomizer<?>> requestCustomizers) {
this.requestFactorySettings = requestFactorySettings;
this.detectRequestFactory = detectRequestFactory;
@ -156,7 +159,7 @@ public class RestTemplateBuilder { @@ -156,7 +159,7 @@ public class RestTemplateBuilder {
* @param rootUri the root URI or {@code null}
* @return a new builder instance
*/
public RestTemplateBuilder rootUri(String rootUri) {
public RestTemplateBuilder rootUri(@Nullable String rootUri) {
return new RestTemplateBuilder(this.requestFactorySettings, this.detectRequestFactory, rootUri,
this.messageConverters, this.interceptors, this.requestFactoryBuilder, this.uriTemplateHandler,
this.errorHandler, this.basicAuthentication, this.defaultHeaders, this.customizers,
@ -390,7 +393,7 @@ public class RestTemplateBuilder { @@ -390,7 +393,7 @@ public class RestTemplateBuilder {
* @return a new builder instance
* @since 2.2.0
*/
public RestTemplateBuilder basicAuthentication(String username, String password, Charset charset) {
public RestTemplateBuilder basicAuthentication(String username, String password, @Nullable Charset charset) {
return new RestTemplateBuilder(this.requestFactorySettings, this.detectRequestFactory, this.rootUri,
this.messageConverters, this.interceptors, this.requestFactoryBuilder, this.uriTemplateHandler,
this.errorHandler, new BasicAuthentication(username, password, charset), this.defaultHeaders,
@ -688,7 +691,7 @@ public class RestTemplateBuilder { @@ -688,7 +691,7 @@ public class RestTemplateBuilder {
* @return a {@link ClientHttpRequestFactory} or {@code null}
* @since 2.2.0
*/
public ClientHttpRequestFactory buildRequestFactory() {
public @Nullable ClientHttpRequestFactory buildRequestFactory() {
ClientHttpRequestFactoryBuilder<?> requestFactoryBuilder = requestFactoryBuilder();
return (requestFactoryBuilder != null) ? requestFactoryBuilder.build(this.requestFactorySettings) : null;
}
@ -699,7 +702,7 @@ public class RestTemplateBuilder { @@ -699,7 +702,7 @@ public class RestTemplateBuilder {
* @return a {@link ClientHttpRequestFactoryBuilder} or {@code null}
* @since 3.5.0
*/
public ClientHttpRequestFactoryBuilder<?> requestFactoryBuilder() {
public @Nullable ClientHttpRequestFactoryBuilder<?> requestFactoryBuilder() {
if (this.requestFactoryBuilder != null) {
return this.requestFactoryBuilder;
}
@ -731,7 +734,8 @@ public class RestTemplateBuilder { @@ -731,7 +734,8 @@ public class RestTemplateBuilder {
return Collections.unmodifiableList(Arrays.asList(Arrays.copyOf(items, items.length)));
}
private static <T> Set<T> append(Collection<? extends T> collection, Collection<? extends T> additions) {
private static <T> Set<T> append(@Nullable Collection<? extends T> collection,
@Nullable Collection<? extends T> additions) {
Set<T> result = new LinkedHashSet<>((collection != null) ? collection : Collections.emptySet());
if (additions != null) {
result.addAll(additions);
@ -739,7 +743,7 @@ public class RestTemplateBuilder { @@ -739,7 +743,7 @@ public class RestTemplateBuilder {
return Collections.unmodifiableSet(result);
}
private static <K, V> Map<K, List<V>> append(Map<K, List<V>> map, K key, V[] values) {
private static <K, V> Map<K, List<V>> append(@Nullable Map<K, List<V>> map, K key, V @Nullable [] values) {
Map<K, List<V>> result = new LinkedHashMap<>((map != null) ? map : Collections.emptyMap());
if (values != null) {
result.put(key, copiedListOf(values));

6
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/RestTemplateBuilderClientHttpRequestInitializer.java

@ -20,6 +20,8 @@ import java.util.List; @@ -20,6 +20,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import org.jspecify.annotations.Nullable;
import org.springframework.boot.util.LambdaSafe;
import org.springframework.http.HttpHeaders;
import org.springframework.http.client.ClientHttpRequest;
@ -34,13 +36,13 @@ import org.springframework.http.client.ClientHttpRequestInitializer; @@ -34,13 +36,13 @@ import org.springframework.http.client.ClientHttpRequestInitializer;
*/
class RestTemplateBuilderClientHttpRequestInitializer implements ClientHttpRequestInitializer {
private final BasicAuthentication basicAuthentication;
private final @Nullable BasicAuthentication basicAuthentication;
private final Map<String, List<String>> defaultHeaders;
private final Set<RestTemplateRequestCustomizer<?>> requestCustomizers;
RestTemplateBuilderClientHttpRequestInitializer(BasicAuthentication basicAuthentication,
RestTemplateBuilderClientHttpRequestInitializer(@Nullable BasicAuthentication basicAuthentication,
Map<String, List<String>> defaultHeaders, Set<RestTemplateRequestCustomizer<?>> requestCustomizers) {
this.basicAuthentication = basicAuthentication;
this.defaultHeaders = defaultHeaders;

8
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/RootUriTemplateHandler.java

@ -19,6 +19,8 @@ package org.springframework.boot.restclient; @@ -19,6 +19,8 @@ package org.springframework.boot.restclient;
import java.net.URI;
import java.util.Map;
import org.jspecify.annotations.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import org.springframework.web.util.UriTemplateHandler;
@ -32,7 +34,7 @@ import org.springframework.web.util.UriTemplateHandler; @@ -32,7 +34,7 @@ import org.springframework.web.util.UriTemplateHandler;
*/
public class RootUriTemplateHandler implements UriTemplateHandler {
private final String rootUri;
private final @Nullable String rootUri;
private final UriTemplateHandler handler;
@ -55,7 +57,7 @@ public class RootUriTemplateHandler implements UriTemplateHandler { @@ -55,7 +57,7 @@ public class RootUriTemplateHandler implements UriTemplateHandler {
}
@Override
public URI expand(String uriTemplate, Object... uriVariables) {
public URI expand(String uriTemplate, @Nullable Object... uriVariables) {
return this.handler.expand(apply(uriTemplate), uriVariables);
}
@ -66,7 +68,7 @@ public class RootUriTemplateHandler implements UriTemplateHandler { @@ -66,7 +68,7 @@ public class RootUriTemplateHandler implements UriTemplateHandler {
return uriTemplate;
}
public String getRootUri() {
public @Nullable String getRootUri() {
return this.rootUri;
}

8
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/AbstractRestClientProperties.java

@ -20,6 +20,8 @@ import java.util.LinkedHashMap; @@ -20,6 +20,8 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.jspecify.annotations.Nullable;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import org.springframework.boot.http.client.autoconfigure.AbstractHttpRequestFactoryProperties;
import org.springframework.boot.http.client.autoconfigure.ApiversionProperties;
@ -40,7 +42,7 @@ public abstract class AbstractRestClientProperties extends AbstractHttpRequestFa @@ -40,7 +42,7 @@ public abstract class AbstractRestClientProperties extends AbstractHttpRequestFa
* Base url to set in the underlying HTTP client group. By default, set to
* {@code null}.
*/
private String baseUrl;
private @Nullable String baseUrl;
/**
* Default request headers for interface client group. By default, set to empty
@ -54,11 +56,11 @@ public abstract class AbstractRestClientProperties extends AbstractHttpRequestFa @@ -54,11 +56,11 @@ public abstract class AbstractRestClientProperties extends AbstractHttpRequestFa
@NestedConfigurationProperty
private final ApiversionProperties apiversion = new ApiversionProperties();
public String getBaseUrl() {
public @Nullable String getBaseUrl() {
return this.baseUrl;
}
public void setBaseUrl(String baseUrl) {
public void setBaseUrl(@Nullable String baseUrl) {
this.baseUrl = baseUrl;
}

6
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/HttpMessageConvertersRestClientCustomizer.java

@ -19,6 +19,8 @@ package org.springframework.boot.restclient.autoconfigure; @@ -19,6 +19,8 @@ package org.springframework.boot.restclient.autoconfigure;
import java.util.Arrays;
import java.util.List;
import org.jspecify.annotations.Nullable;
import org.springframework.boot.http.converter.autoconfigure.HttpMessageConverters;
import org.springframework.boot.restclient.RestClientCustomizer;
import org.springframework.http.converter.HttpMessageConverter;
@ -34,14 +36,14 @@ import org.springframework.web.client.RestClient; @@ -34,14 +36,14 @@ import org.springframework.web.client.RestClient;
*/
public class HttpMessageConvertersRestClientCustomizer implements RestClientCustomizer {
private final Iterable<? extends HttpMessageConverter<?>> messageConverters;
private final @Nullable Iterable<? extends HttpMessageConverter<?>> messageConverters;
public HttpMessageConvertersRestClientCustomizer(HttpMessageConverter<?>... messageConverters) {
Assert.notNull(messageConverters, "'messageConverters' must not be null");
this.messageConverters = Arrays.asList(messageConverters);
}
HttpMessageConvertersRestClientCustomizer(HttpMessageConverters messageConverters) {
HttpMessageConvertersRestClientCustomizer(@Nullable HttpMessageConverters messageConverters) {
this.messageConverters = messageConverters;
}

23
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/PropertiesRestClientCustomizer.java

@ -21,6 +21,8 @@ import java.util.List; @@ -21,6 +21,8 @@ import java.util.List;
import java.util.Map;
import java.util.function.Consumer;
import org.jspecify.annotations.Nullable;
import org.springframework.boot.context.properties.PropertyMapper;
import org.springframework.boot.http.client.autoconfigure.ApiversionProperties;
import org.springframework.boot.http.client.autoconfigure.PropertiesApiVersionInserter;
@ -29,6 +31,7 @@ import org.springframework.http.HttpHeaders; @@ -29,6 +31,7 @@ import org.springframework.http.HttpHeaders;
import org.springframework.web.client.ApiVersionFormatter;
import org.springframework.web.client.ApiVersionInserter;
import org.springframework.web.client.RestClient;
import org.springframework.web.client.RestClient.Builder;
/**
* {@link RestClientCustomizer} to apply {@link AbstractRestClientProperties}.
@ -38,18 +41,19 @@ import org.springframework.web.client.RestClient; @@ -38,18 +41,19 @@ import org.springframework.web.client.RestClient;
*/
public class PropertiesRestClientCustomizer implements RestClientCustomizer {
private final AbstractRestClientProperties[] orderedProperties;
private final @Nullable AbstractRestClientProperties[] orderedProperties;
private ApiVersionInserter apiVersionInserter;
private final @Nullable ApiVersionInserter apiVersionInserter;
public PropertiesRestClientCustomizer(ApiVersionInserter apiVersionInserter,
ApiVersionFormatter apiVersionFormatter, AbstractRestClientProperties... orderedProperties) {
public PropertiesRestClientCustomizer(@Nullable ApiVersionInserter apiVersionInserter,
@Nullable ApiVersionFormatter apiVersionFormatter,
@Nullable AbstractRestClientProperties... orderedProperties) {
this.orderedProperties = orderedProperties;
this.apiVersionInserter = PropertiesApiVersionInserter.get(apiVersionInserter, apiVersionFormatter,
Arrays.stream(orderedProperties).map(this::getApiVersion));
}
private ApiversionProperties getApiVersion(AbstractRestClientProperties properties) {
private @Nullable ApiversionProperties getApiVersion(@Nullable AbstractRestClientProperties properties) {
return (properties != null) ? properties.getApiversion() : null;
}
@ -62,13 +66,16 @@ public class PropertiesRestClientCustomizer implements RestClientCustomizer { @@ -62,13 +66,16 @@ public class PropertiesRestClientCustomizer implements RestClientCustomizer {
if (properties != null) {
map.from(properties::getBaseUrl).whenHasText().to(builder::baseUrl);
map.from(properties::getDefaultHeader).as(this::putAllHeaders).to(builder::defaultHeaders);
map.from(properties.getApiversion())
.as(ApiversionProperties::getDefaultVersion)
.to(builder::defaultApiVersion);
setDefaultApiVersion(builder, map, properties);
}
}
}
@SuppressWarnings("NullAway") // Lambda isn't detected with the correct nullability
private void setDefaultApiVersion(Builder builder, PropertyMapper map, AbstractRestClientProperties properties) {
map.from(properties.getApiversion()).as(ApiversionProperties::getDefaultVersion).to(builder::defaultApiVersion);
}
private Consumer<HttpHeaders> putAllHeaders(Map<String, List<String>> defaultHeaders) {
return (httpHeaders) -> httpHeaders.putAll(defaultHeaders);
}

6
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestClientBuilderConfigurer.java

@ -19,6 +19,8 @@ package org.springframework.boot.restclient.autoconfigure; @@ -19,6 +19,8 @@ package org.springframework.boot.restclient.autoconfigure;
import java.util.Collections;
import java.util.List;
import org.jspecify.annotations.Nullable;
import org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder;
import org.springframework.boot.http.client.ClientHttpRequestFactorySettings;
import org.springframework.boot.restclient.RestClientCustomizer;
@ -43,7 +45,7 @@ public class RestClientBuilderConfigurer { @@ -43,7 +45,7 @@ public class RestClientBuilderConfigurer {
private final List<RestClientCustomizer> customizers;
private final PropertiesRestClientCustomizer propertiesCustomizer;
private final @Nullable PropertiesRestClientCustomizer propertiesCustomizer;
public RestClientBuilderConfigurer() {
this(ClientHttpRequestFactoryBuilder.detect(), ClientHttpRequestFactorySettings.defaults(), null,
@ -52,7 +54,7 @@ public class RestClientBuilderConfigurer { @@ -52,7 +54,7 @@ public class RestClientBuilderConfigurer {
RestClientBuilderConfigurer(ClientHttpRequestFactoryBuilder<?> requestFactoryBuilder,
ClientHttpRequestFactorySettings requestFactorySettings,
PropertiesRestClientCustomizer propertiesCustomizer, List<RestClientCustomizer> customizers) {
@Nullable PropertiesRestClientCustomizer propertiesCustomizer, List<RestClientCustomizer> customizers) {
this.requestFactoryBuilder = requestFactoryBuilder;
this.requestFactorySettings = requestFactorySettings;
this.propertiesCustomizer = propertiesCustomizer;

25
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/RestTemplateBuilderConfigurer.java

@ -20,6 +20,8 @@ import java.util.Collection; @@ -20,6 +20,8 @@ import java.util.Collection;
import java.util.List;
import java.util.function.BiFunction;
import org.jspecify.annotations.Nullable;
import org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder;
import org.springframework.boot.http.client.ClientHttpRequestFactorySettings;
import org.springframework.boot.http.converter.autoconfigure.HttpMessageConverters;
@ -40,33 +42,34 @@ import org.springframework.util.ObjectUtils; @@ -40,33 +42,34 @@ import org.springframework.util.ObjectUtils;
*/
public final class RestTemplateBuilderConfigurer {
private ClientHttpRequestFactoryBuilder<?> requestFactoryBuilder;
private @Nullable ClientHttpRequestFactoryBuilder<?> requestFactoryBuilder;
private ClientHttpRequestFactorySettings requestFactorySettings;
private @Nullable ClientHttpRequestFactorySettings requestFactorySettings;
private HttpMessageConverters httpMessageConverters;
private @Nullable HttpMessageConverters httpMessageConverters;
private List<RestTemplateCustomizer> restTemplateCustomizers;
private @Nullable List<RestTemplateCustomizer> restTemplateCustomizers;
private List<RestTemplateRequestCustomizer<?>> restTemplateRequestCustomizers;
private @Nullable List<RestTemplateRequestCustomizer<?>> restTemplateRequestCustomizers;
void setRequestFactoryBuilder(ClientHttpRequestFactoryBuilder<?> requestFactoryBuilder) {
void setRequestFactoryBuilder(@Nullable ClientHttpRequestFactoryBuilder<?> requestFactoryBuilder) {
this.requestFactoryBuilder = requestFactoryBuilder;
}
void setRequestFactorySettings(ClientHttpRequestFactorySettings requestFactorySettings) {
void setRequestFactorySettings(@Nullable ClientHttpRequestFactorySettings requestFactorySettings) {
this.requestFactorySettings = requestFactorySettings;
}
void setHttpMessageConverters(HttpMessageConverters httpMessageConverters) {
void setHttpMessageConverters(@Nullable HttpMessageConverters httpMessageConverters) {
this.httpMessageConverters = httpMessageConverters;
}
void setRestTemplateCustomizers(List<RestTemplateCustomizer> restTemplateCustomizers) {
void setRestTemplateCustomizers(@Nullable List<RestTemplateCustomizer> restTemplateCustomizers) {
this.restTemplateCustomizers = restTemplateCustomizers;
}
void setRestTemplateRequestCustomizers(List<RestTemplateRequestCustomizer<?>> restTemplateRequestCustomizers) {
void setRestTemplateRequestCustomizers(
@Nullable List<RestTemplateRequestCustomizer<?>> restTemplateRequestCustomizers) {
this.restTemplateRequestCustomizers = restTemplateRequestCustomizers;
}
@ -91,7 +94,7 @@ public final class RestTemplateBuilderConfigurer { @@ -91,7 +94,7 @@ public final class RestTemplateBuilderConfigurer {
return builder;
}
private <T> RestTemplateBuilder addCustomizers(RestTemplateBuilder builder, List<T> customizers,
private <T> RestTemplateBuilder addCustomizers(RestTemplateBuilder builder, @Nullable List<T> customizers,
BiFunction<RestTemplateBuilder, Collection<T>, RestTemplateBuilder> method) {
if (!ObjectUtils.isEmpty(customizers)) {
return method.apply(builder, customizers);

3
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/package-info.java

@ -17,4 +17,7 @@ @@ -17,4 +17,7 @@
/**
* Auto-configuration for RestClient and RestTemplate.
*/
@NullMarked
package org.springframework.boot.restclient.autoconfigure;
import org.jspecify.annotations.NullMarked;

1
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/HttpServiceClientAutoConfiguration.java

@ -55,6 +55,7 @@ import org.springframework.web.service.registry.ImportHttpServices; @@ -55,6 +55,7 @@ import org.springframework.web.service.registry.ImportHttpServices;
@EnableConfigurationProperties(HttpClientServiceProperties.class)
public final class HttpServiceClientAutoConfiguration implements BeanClassLoaderAware {
@SuppressWarnings("NullAway.Init")
private ClassLoader beanClassLoader;
HttpServiceClientAutoConfiguration() {

14
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/RestClientPropertiesHttpServiceGroupConfigurer.java

@ -16,6 +16,8 @@ @@ -16,6 +16,8 @@
package org.springframework.boot.restclient.autoconfigure.service;
import org.jspecify.annotations.Nullable;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder;
import org.springframework.boot.http.client.ClientHttpRequestFactorySettings;
@ -44,7 +46,7 @@ class RestClientPropertiesHttpServiceGroupConfigurer implements RestClientHttpSe @@ -44,7 +46,7 @@ class RestClientPropertiesHttpServiceGroupConfigurer implements RestClientHttpSe
private final ObjectProvider<SslBundles> sslBundles;
private final HttpClientProperties clientProperties;
private final @Nullable HttpClientProperties clientProperties;
private final HttpClientServiceProperties serviceProperties;
@ -52,12 +54,12 @@ class RestClientPropertiesHttpServiceGroupConfigurer implements RestClientHttpSe @@ -52,12 +54,12 @@ class RestClientPropertiesHttpServiceGroupConfigurer implements RestClientHttpSe
private final ObjectProvider<ClientHttpRequestFactorySettings> requestFactorySettings;
private final ApiVersionInserter apiVersionInserter;
private final @Nullable ApiVersionInserter apiVersionInserter;
private final ApiVersionFormatter apiVersionFormatter;
private final @Nullable ApiVersionFormatter apiVersionFormatter;
RestClientPropertiesHttpServiceGroupConfigurer(ClassLoader classLoader, ObjectProvider<SslBundles> sslBundles,
HttpClientProperties clientProperties, HttpClientServiceProperties serviceProperties,
@Nullable HttpClientProperties clientProperties, HttpClientServiceProperties serviceProperties,
ObjectProvider<ClientHttpRequestFactoryBuilder<?>> requestFactoryBuilder,
ObjectProvider<ClientHttpRequestFactorySettings> requestFactorySettings,
ObjectProvider<ApiVersionInserter> apiVersionInserter,
@ -89,12 +91,12 @@ class RestClientPropertiesHttpServiceGroupConfigurer implements RestClientHttpSe @@ -89,12 +91,12 @@ class RestClientPropertiesHttpServiceGroupConfigurer implements RestClientHttpSe
}
private PropertiesRestClientCustomizer getPropertiesRestClientCustomizer(
HttpClientServiceProperties.Group groupProperties) {
HttpClientServiceProperties.@Nullable Group groupProperties) {
return new PropertiesRestClientCustomizer(this.apiVersionInserter, this.apiVersionFormatter, groupProperties,
this.serviceProperties);
}
private ClientHttpRequestFactory getRequestFactory(HttpClientServiceProperties.Group groupProperties) {
private ClientHttpRequestFactory getRequestFactory(HttpClientServiceProperties.@Nullable Group groupProperties) {
ClientHttpRequestFactories factories = new ClientHttpRequestFactories(this.sslBundles, groupProperties,
this.serviceProperties, this.clientProperties);
ClientHttpRequestFactoryBuilder<?> builder = this.requestFactoryBuilder

3
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/autoconfigure/service/package-info.java

@ -17,4 +17,7 @@ @@ -17,4 +17,7 @@
/**
* Auto-Configuration for Spring's Blocking HTTP Service Interface Clients.
*/
@NullMarked
package org.springframework.boot.restclient.autoconfigure.service;
import org.jspecify.annotations.NullMarked;

3
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/observation/package-info.java

@ -17,4 +17,7 @@ @@ -17,4 +17,7 @@
/**
* Observation integration for RestClient and RestTemplate.
*/
@NullMarked
package org.springframework.boot.restclient.observation;
import org.jspecify.annotations.NullMarked;

3
module/spring-boot-restclient/src/main/java/org/springframework/boot/restclient/package-info.java

@ -17,4 +17,7 @@ @@ -17,4 +17,7 @@
/**
* Web client utilities.
*/
@NullMarked
package org.springframework.boot.restclient;
import org.jspecify.annotations.NullMarked;

Loading…
Cancel
Save