我正在使用TestRestTemplate
我们产品的集成测试.
我有一个看起来像这样的测试:
@Test public void testDeviceQuery() { ResponseEntitydeviceInfoPage = template.getForEntity(base, Page.class); // validation code here }
此特定请求需要Header值.有人可以告诉我如何在TestRestTemplate
电话中添加标题吗?
更新:从Spring Boot 1.4.0开始,TestRestTemplate
不再扩展RestTemplate
但仍然提供相同的API RestTemplate
.
TestRestTemplate
扩展 提供与API相同的API RestTemplate
RestTemplate
,因此您可以使用相同的API来发送请求.例如:
HttpHeaders headers = new HttpHeaders(); headers.add("your_header", "its_value"); template.exchange(base, HttpMethod.GET, new HttpEntity<>(headers), Page.class);
如果您希望使用的所有请求TestRestTemplate
都包含某些标头,则可以在设置中添加以下内容:
testRestTemplate.getRestTemplate().setInterceptors( Collections.singletonList((request, body, execution) -> { request.getHeaders() .add("header-name", "value"); return execution.execute(request, body); }));