Class MockServerRestTemplateCustomizer
java.lang.Object
org.springframework.boot.restclient.test.MockServerRestTemplateCustomizer
- All Implemented Interfaces:
- RestTemplateCustomizer
RestTemplateCustomizer that can be applied to a RestTemplateBuilder
instances to add MockRestServiceServer support.
Typically applied to an existing builder before it is used, for example:
MockServerRestTemplateCustomizer customizer = new MockServerRestTemplateCustomizer();
MyBean bean = new MyBean(new RestTemplateBuilder(customizer));
customizer.getServer().expect(requestTo("/hello")).andRespond(withSuccess());
bean.makeRestCall();
If the customizer is only used once, the getServer() method can be used to
obtain the mock server. If the customizer has been used more than once the
getServer(RestTemplate) or getServers() method must be used to access
the related server.
If a mock server is used in more than one test case in a test class, it might be
necessary to reset the expectations on the server between tests using
getServer().reset() or getServer(restTemplate).reset().
- Since:
- 4.0.0
- Author:
- Phillip Webb, Moritz Halbritter, Chinmoy Chakraborty
- See Also:
- 
Constructor SummaryConstructorsConstructorDescriptionMockServerRestTemplateCustomizer(Class<? extends RequestExpectationManager> expectationManager) Create a newMockServerRestTemplateCustomizerinstance.MockServerRestTemplateCustomizer(Supplier<? extends RequestExpectationManager> expectationManagerSupplier) Create a newMockServerRestTemplateCustomizerinstance.
- 
Method SummaryModifier and TypeMethodDescriptionprotected RequestExpectationManagervoidcustomize(RestTemplate restTemplate) Callback to customize aRestTemplateinstance.@Nullable MockRestServiceServergetServer(RestTemplate restTemplate) voidsetBufferContent(boolean bufferContent) Set if theBufferingClientHttpRequestFactorywrapper should be used to buffer the input and output streams, and for example, allow multiple reads of the response body.voidsetDetectRootUri(boolean detectRootUri) Set if root URIs fromRootUriRequestExpectationManagershould be detected and applied to theMockRestServiceServer.
- 
Constructor Details- 
MockServerRestTemplateCustomizerpublic MockServerRestTemplateCustomizer()
- 
MockServerRestTemplateCustomizerpublic MockServerRestTemplateCustomizer(Class<? extends RequestExpectationManager> expectationManager) Create a newMockServerRestTemplateCustomizerinstance.- Parameters:
- expectationManager- the expectation manager class to use
 
- 
MockServerRestTemplateCustomizerpublic MockServerRestTemplateCustomizer(Supplier<? extends RequestExpectationManager> expectationManagerSupplier) Create a newMockServerRestTemplateCustomizerinstance.- Parameters:
- expectationManagerSupplier- a supplier that provides the- RequestExpectationManagerto use
 
 
- 
- 
Method Details- 
setDetectRootUripublic void setDetectRootUri(boolean detectRootUri) Set if root URIs fromRootUriRequestExpectationManagershould be detected and applied to theMockRestServiceServer.- Parameters:
- detectRootUri- if root URIs should be detected
 
- 
setBufferContentpublic void setBufferContent(boolean bufferContent) Set if theBufferingClientHttpRequestFactorywrapper should be used to buffer the input and output streams, and for example, allow multiple reads of the response body.- Parameters:
- bufferContent- if request and response content should be buffered
 
- 
customizeDescription copied from interface:RestTemplateCustomizerCallback to customize aRestTemplateinstance.- Specified by:
- customizein interface- RestTemplateCustomizer
- Parameters:
- restTemplate- the template to customize
 
- 
createExpectationManager
- 
getServer
- 
getExpectationManagers
- 
getServer
- 
getServers
 
-