首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TestRestTemplate postForEntity不发送请求体Spring Boot1.4

TestRestTemplate是Spring Framework提供的一个用于进行集成测试的工具类,可以模拟发送HTTP请求并获取响应结果。postForEntity是TestRestTemplate类中的一个方法,用于发送HTTP POST请求并获取响应结果。

在Spring Boot 1.4版本中,TestRestTemplate的postForEntity方法在发送POST请求时,如果请求体为空,不会发送请求体。这是因为在该版本中,TestRestTemplate默认使用的是RestTemplateBuilder构建的RestTemplate实例,而RestTemplate在发送请求时,会根据请求体是否为空来决定是否发送请求体。

对于这个问题,可以通过以下方式解决:

  1. 确保请求体不为空:在使用postForEntity方法发送POST请求时,确保请求体参数不为空。可以通过创建一个HttpEntity对象,并将请求体参数设置到该对象中,然后作为postForEntity方法的参数传入。
  2. 使用其他方法发送请求:除了postForEntity方法,TestRestTemplate还提供了其他发送POST请求的方法,如postForObject和exchange。可以尝试使用这些方法来发送请求,看是否能够满足需求。
  3. 升级Spring Boot版本:如果以上方法都无法解决问题,可以考虑升级Spring Boot版本。在较新的版本中,可能已经修复了该问题。

总结起来,TestRestTemplate的postForEntity方法在Spring Boot 1.4版本中不会发送请求体,可以通过确保请求体不为空、使用其他方法发送请求或升级Spring Boot版本来解决该问题。

腾讯云相关产品推荐:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring Boot(十二)单元测试JUnit

一般由程序员来做,因为它需要知道内部程序设计和编码的细节; JUnit GitHub地址:https://github.com/junit-team 二、JUnit使用 开发环境: Spring Boot...Boot项目里面可以直接使用JUnit对web项目进行测试,Spring 提供了“TestRestTemplate”对象,使用这个对象可以很方便的进行模拟请求。...测试只需要进行两步操作: 在@SpringBootTest注解上设置“ebEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT”随机端口; 使用TestRestTemplate...) public class UserControllerTest { @Autowired private TestRestTemplate restTemplate; @Test...,并返回Object结果,第二个参数设置返回结果为String类型,更多的请求方法: getForEntity:Get请求,返回实体对象(可以是集合); postForEntity:Post请求,返回实体对象

91631

精讲RestTemplate第4篇-POST请求方法使用详解

本文是精讲RestTemplate第4篇,前篇的blog访问地址如下: 精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用 精讲RestTemplate第2篇-多种底层HTTP...其实POST请求方法和GET请求方法上大同小异,RestTemplate的POST请求也包含两个主要方法: postForObject() postForEntity() 二者的主要区别在于,postForObject...postForEntity()返回的是ResponseEntity,ResponseEntity是对HTTP响应的封装,除了包含响应,还包含HTTP状态码、contentType、contentLength...一、postForObject发送JSON格式请求 写一个单元测试用例,测试用例的内容是向指定的URL提交一个Post(帖子)....,所以请参考: 精讲RestTemplate第3篇-GET请求使用方法详解 四、postForEntity()方法 上面的所有的postForObject请求传参方法,postForEntity都可以使用

11.1K20

详解 RestTemplate 操作

Spring3.0开始,Spring为创建Rest API提供了良好的支持. REST提供了一个更简单的可选方案。...  映射得到的 execute() 在URL上执行特定的HTTP方法,返回一个从响应映射得到的对象 getForEntity() 发送一个HTTP GET请求,返回的ResponseEntity...包含了响应所映射成的对象 getForObject() 发送一个HTTP GET请求,返回的请求将映射为一个对象 postForEntity() POST 数据到一个URL,返回包含一个对象的...) 发送HTTP HEAD请求,返回包含特定资源URL的HTTP头 optionsForAllow() 发送HTTP OPTIONS请求,返回对特定URL的Allow头信息 postForLocation...有参数的 postForEntity 请求 // 有参数的 postForEntity 请求 @RequestMapping("saveUserByType/{type}") public

2.9K21

Spring RestTemplate介绍

2.API方法介绍 API 说明 getForEntity() 发送一个HTTP GET请求,返回的ResponseEntity包含了响应所映射成的对象 getForObject() 发送一个HTTP...GET请求,返回的请求将映射为一个对象 postForEntity() POST 数据到一个URL,返回包含一个对象的ResponseEntity,这个对象是从响应中映射得到的 postForObject...() POST 数据到一个URL,返回根据响应匹配形成的对象 headForHeaders() 发送HTTP HEAD请求,返回包含特定资源URL的HTTP头 optionsForAllow() 发送...() 在URL上执行特定的HTTP方法,返回一个从响应映射得到的对象 3.具体使用   我们通过常用的http协议的四种请求方式来看下效果 3.1 无参请求   我们先来看下服务端请求方法不需要接收参数...说明: 1.getForEntity()方法执行返回的类型是ResponseEntity,ResponseEntity是Spring对HTTP请求响应的封装,包括了几个重要的元素,如响应码

1.6K40

Spring RestTemplate中几种常见的请求方式

GET请求 在RestTemplate中,发送一个GET请求,我们可以通过如下两种方式: 第一种:getForEntity getForEntity方法的返回值是一个ResponseEntity,...ResponseEntity是Spring对HTTP请求响应的封装,包括了几个重要的元素,如响应码、contentType、contentLength、响应消息等。...POST请求 在RestTemplate中,POST请求可以通过如下三个方法来发起: 第一种:postForEntity 该方法和get请求中的getForEntity方法类似,如下例子: @RequestMapping...PUT请求 在RestTemplate中,PUT请求可以通过put方法调用,put方法的参数和前面介绍的postForEntity方法的参数基本一致,只是put方法没有返回值而已。...("http://HELLO-SERVICE/getbook4/{1}", 100); } delete方法也有几个重载的方法,不过重载的参数和前面基本一致,赘述。

3.3K20

Spring RestTemplate中几种常见的请求方式

GET请求 在RestTemplate中,发送一个GET请求,我们可以通过如下两种方式: 第一种:getForEntity getForEntity方法的返回值是一个ResponseEntity,...ResponseEntity是Spring对HTTP请求响应的封装,包括了几个重要的元素,如响应码、contentType、contentLength、响应消息等。...POST请求 在RestTemplate中,POST请求可以通过如下三个方法来发起: 第一种:postForEntity 该方法和get请求中的getForEntity方法类似,如下例子: @RequestMapping...PUT请求 在RestTemplate中,PUT请求可以通过put方法调用,put方法的参数和前面介绍的postForEntity方法的参数基本一致,只是put方法没有返回值而已。...OK,以上就是我们对RestTemplate能够发送请求的一个详细介绍,有问题欢迎留言讨论。

2.6K60

Spring Boot调用外部接口的方式

1、简介 SpringBoot不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。...submit"; HttpPost post = new HttpPost(url); JSONObject jsonObject = null; try { //创建请求并添加数据...url,Class responseType) getForObject方法可以理解为对getForEntity的进一步封装,它通过HttpMessageConverterExtractor对HTTP的请求响应...Post 请求 Post请求提供有postForEntity、postForObject和postForLocation三种方式,其中每种方式都有三种方法,下面介绍postForEntity的使用方法。...(url,httpEntity,String.class);//此处三个参数分别是请求地址、请求以及返回参数类型 return forEntity.toString(); } 4、方式三

36630

Spring Cloud Ribbon负载均衡

Spring Cloud Ribbon负载均衡 Spring Cloud Ribbon负载均衡一、简介二、客户端负载均衡三、RestTemplate详解GET请求POST请求PUT请求DELETE请求...当客户发送请求到负载均衡的设备时。设备按照服务负载均衡的算法(随机访问,轮询访问,权重访问,最少访问次数算法)来找到对应的服务端。...第一种:getForEntity()函数,该方法返回的是ResponseEntity,该对象是Spring对HTTP请求响应的封装,其中主要存储了HTTP的几个重要元素,比如HTTP请求状态码的枚举对象...HttpStatus(常用的404,500这些错误),在它的父类HttpEntity中还存储着HTTP请求的头信息对象HttpHeaders以及泛型类型集合的请求对象。...了解完GET请求后,再来看一下POST请求: 在RestTemplate中,POST请求可以用一下几种方式来实现 // postForEntity postForEntity(String url,

62830

Spring Boot应用的测试——Mockito

在web应用程序中,对Controller层的测试一般有两种方法:(1)发送http请求;(2)模拟http请求对象。...在之前的几篇文章中,我们都使用bookpub这个应用程序作为例子,今天也例外,准备测试它提供的RESTful接口是否能返回正确的响应数据。...Content-Type字段,表示请求的内容类型 mockMvc.perform(get("/publishers/1") .accept(MediaType.APPLICATION_JSON_UTF8...在这个测试用例中我们使用TestRestTemplate对象发起RESTful请求。 第三个测试用例中展示了如何通过MockMvc对象实现跟第二个测试类似的功能。...Content-Type字段,表示请求的内容类型 mockMvc.perform(get("/publishers/1") .accept(MediaType.APPLICATION_JSON_UTF8

1.3K10

玩转Spring Boot之RestTemplate的使用

2 RestTemplate基本使用 2.1 依赖: Spring Boot的web starter已经内置了RestTemplate的Bean,我们主需要将它引入到我们的Spring Context中...():在URL上执行特定的HTTP方法,返回一个从响应映射得到的对象 getForEntity():发送一个GET请求,返回的ResponseEntity包含了响应所映射成的对象 getForObject...() :发送一个GET请求,返回的请求将映射为一个对象 postForEntity():POST 数据到一个URL,返回包含一个对象的ResponseEntity,这个对象是从响应中映射得 到的 postForObject...() :POST 数据到一个URL,返回根据响应匹配形成的对象 4 注意点 RestTemplate需要手动的注入到我们自己的Spring Context中才能进行使用,不可以直接在一个业务类中注入使用...使用POST形式的JSON格式进行请求时,需要配置http报文的header请求头中的报文格式。

49520
领券