【发布时间】:2017-03-09 02:02:20
【问题描述】:
添加时
compile 'io.netty:netty-all:4.1.6.Final'
作为我的 Spring Boot 项目的依赖项,我使用 TestRestTemplate.postForObject(...) 和 TestRestTemplate.put(...) 的所有单元测试开始失败。似乎请求正文未传输,因为我收到以下错误
Failed to read HTTP message:... HttpMessageNotReadableException: Required request body is missing
该服务仍在工作并接受 POST 和 PUT 请求。我使用curl检查了这一点。另一方面,TestRestTemplate.getForObject(...) 仍在工作。使用普通的RestTemplate 进行 POST 和 PUT 也可以。
我尝试配置 TestRestTemplate(正确的解决方案,错误的实现 -> 查看我的答案)
@TestConfiguration
静态类 TestConfig {
@豆角,扁豆
RestTemplateBuilder restTemplateBuilder() {
RestTemplateBuilder restTemplateBuilder = new RestTemplateBuilder()
restTemplateBuilder.detectRequestFactory(false)
restTemplateBuilder.requestFactory(new SimpleClientHttpRequestFactory())
返回 restTemplateBuilder
}
}
没有效果。我也尝试使用Netty4ClientHttpRequestFactory,但也没有用。例如,我尝试使用GsonHttpMessageConverter 配置HttpMessageConverter...没有效果。
【问题讨论】:
标签: java spring spring-boot netty