解决Postman接口测试遇到的状态码415(服务器不支持或无法处理的媒体类型错误)

avatar
作者
猴君
阅读量:2

1.问题描述:

        今天做接口测试的时候,以为后端用POST 请求的注解时,一律使用x-www-form-urlencoded的数据格式发起post请求就行但其实不然。

2.实操:

  例1:如果只使用@PostMapping 请求注解用方法上的参数接受前端传递过来的数据时,做接口测试的时候只能选择x-www-form-urlencoded的数据格式后端才能成功接受到传递的数据。

        1.使用x-www-form-urlencoded数据的格式发送数据(请求成功)

下面这张图调用登录接口发起请求选择了x-www-form-urlencoded数据的格式,后端成功接受到了传入的参数成功,登录成功,返回对象响应码为200。

        2.使用raw格式发送数据(请求失败)

       下面这张图调用登录接口发起请求选择了raw数据的格式,服务器异常状态码500。

我们来看后端的报错信息username is null,很明显没有接受到前端的参数。

例2:如果使用@PostMapping 注解时还用上了@RequestBody注解来接受前端传递过来的数据时,做接口测试的时候只能选择的raw数据格式后端才能成功接受到传递的数据。

1. 使用raw数据的格式发送数据(成功)

 1.下面这张图调用用户新增接口,选择raw数据的格式发起请求,请求成功,成功添加用户。

2.使用x-www-form-urlencoded数据的格式发送数据(失败)

        下面这张图调用用户新增接口,选择x-www-form-urlencoded数据的格式发起请求,客服端错误状态码:415

3.总结:

        1.使用@PostMapping注解时,接口要想成功接受到数据,需要使用x-www-form-urlencoded数据的格式发送数据。

   2.使用@PostMapping+@RequestBody注解时,接口要想成功接受到数据需要使用raw数据的格式发送数据。     

        

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!