Package org.springframework.vault.client
Class VaultClients
java.lang.Object
org.springframework.vault.client.VaultClients
Vault Client factory to create
RestTemplate / RestClient
configured to the needs of accessing Vault.- Author:
- Mark Paluch
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidconfigureConverters(Consumer<? super HttpMessageConverter<?>> converterConsumer) ConfigureHttpMessageConverters for Vault interaction.static voidconfigureConverters(HttpMessageConverters.ClientBuilder clientBuilder) ConfigureHttpMessageConverters for Vault interaction.static ClientHttpRequestInterceptorcreateNamespaceInterceptor(String namespace) Deprecated.static RestClientcreateRestClient(VaultEndpointProvider endpointProvider, ClientHttpRequestFactory requestFactory, Consumer<RestClient.Builder> builderCustomizer) static RestTemplateDeprecated.since 4.1 in favor ofVaultClient.static RestTemplatecreateRestTemplate(VaultEndpointProvider endpointProvider, ClientHttpRequestFactory requestFactory) static RestTemplatecreateRestTemplate(VaultEndpoint endpoint, ClientHttpRequestFactory requestFactory) static UriBuilderFactorycreateUriBuilderFactory(VaultEndpointProvider endpointProvider)
-
Constructor Details
-
VaultClients
public VaultClients()
-
-
Method Details
-
createRestTemplate
public static RestTemplate createRestTemplate(VaultEndpoint endpoint, ClientHttpRequestFactory requestFactory) Create aRestTemplateconfigured withVaultEndpointandClientHttpRequestFactory. The template accepts relative URIs without a leading slash that are expanded to useVaultEndpoint.RestTemplateis configured with aClientHttpRequestInterceptorto enforce serialization to a byte array prior continuing the request. Eager serialization leads to a known request body size that is required to send aHttpHeaders.CONTENT_LENGTHrequest header. Otherwise, Vault will deny body processing.Requires Jackson for Object-to-JSON mapping.
- Parameters:
endpoint- must not be null.requestFactory- must not be null.- Returns:
- the
RestTemplate.
-
createRestTemplate
public static RestTemplate createRestTemplate(VaultEndpointProvider endpointProvider, ClientHttpRequestFactory requestFactory) Create aRestTemplateconfigured withVaultEndpointProviderandClientHttpRequestFactory. The template accepts relative URIs without a leading slash that are expanded to useVaultEndpoint.RestTemplateis configured with aClientHttpRequestInterceptorto enforce serialization to a byte array prior continuing the request. Eager serialization leads to a known request body size that is required to send aHttpHeaders.CONTENT_LENGTHrequest header. Otherwise, Vault will deny body processing.Requires Jackson for Object-to-JSON mapping.
- Parameters:
endpointProvider- must not be null.requestFactory- must not be null.- Returns:
- the
RestTemplate. - Since:
- 1.1
-
createRestClient
public static RestClient createRestClient(VaultEndpointProvider endpointProvider, ClientHttpRequestFactory requestFactory, Consumer<RestClient.Builder> builderCustomizer) Create aRestClientconfigured withVaultEndpointProviderandClientHttpRequestFactory. The client accepts relative URIs without a leading slash that are expanded to useVaultEndpoint.RestClientis configured to enforce serialization to a byte array prior continuing the request. Eager serialization leads to a known request body size that is required to send aHttpHeaders.CONTENT_LENGTHrequest header. Otherwise, Vault will deny body processing.Requires Jackson for Object-to-JSON mapping.
- Parameters:
endpointProvider- must not be null.requestFactory- must not be null.- Returns:
- the
RestClient. - Since:
- 4.0
-
configureConverters
ConfigureHttpMessageConverters for Vault interaction. The used converters are:ByteArrayHttpMessageConverterStringHttpMessageConverter- If Jackson 3 is on the class path:
JacksonJsonHttpMessageConverter - Alternatively, if Jackson 2 is on the class path:
MappingJackson2HttpMessageConverter
- Since:
- 4.1
-
configureConverters
ConfigureHttpMessageConverters for Vault interaction. The used converters are:ByteArrayHttpMessageConverterStringHttpMessageConverter- If Jackson 3 is on the class path:
JacksonJsonHttpMessageConverter - Alternatively, if Jackson 2 is on the class path:
MappingJackson2HttpMessageConverter
- Since:
- 4.1
-
createRestTemplate
Deprecated.since 4.1 in favor ofVaultClient.Create aRestTemplatefor Vault interaction.RestTemplateis configured with aClientHttpRequestInterceptorto enforce serialization to a byte array prior continuing the request. Eager serialization leads to a known request body size that is required to send aHttpHeaders.CONTENT_LENGTHrequest header. Otherwise, Vault will deny body processing.Requires Jackson for Object-to-JSON mapping.
- Returns:
- the
RestTemplate.
-
createNamespaceInterceptor
@Deprecated(since="4.1") public static ClientHttpRequestInterceptor createNamespaceInterceptor(String namespace) Deprecated.since 4.1 in favor ofVaultClient.Builder.defaultNamespace(String)andVaultClient.RequestHeadersSpec.namespace(String).Create aClientHttpRequestInterceptorthat associates each request with aX-Vault-Namespaceheader if the header is not present.- Parameters:
namespace- the Vault namespace to use. Must not be null or empty.- Returns:
- the
ClientHttpRequestInterceptorto register withRestTemplate. - Since:
- 2.2
- See Also:
-
createUriBuilderFactory
-
VaultClient.Builder.defaultNamespace(String)andVaultClient.RequestHeadersSpec.namespace(String).