0


获取PostMan Post请求参数失败

获取PostMan Post请求参数失败

1.问题描述

使用PostMan测试时,Controller接收不到Post请求参数。

@RestController@Slf4jpublicclassPaymentController{@ResourceprivatePaymentService paymentService;@PostMapping(value ="/payment/create")publicCommonResultcreate(@RequestBodyPayment payment){int result = paymentService.create(payment);
        log.info("*******插入操作返回结果:"+ result);if(result >0){returnnewCommonResult(200,"插入数据库成功",result);}else{returnnewCommonResult(444,"插入数据库失败",null);}}}

2.异常信息

“message”: “Required request body is missing: public com.atguigu.springcloud.entities.CommonResult com.atguigu.springcloud.controller.PaymentController.create(com.atguigu.springcloud.entities.Payment)”
"message": "Required request body is missing: public com.atguigu.springcloud.entities.CommonResult com.atguigu.springcloud.controller.PaymentController.create(com.atguigu.springcloud.entities.Payment)"

3.问题原因

  1. Controller使用@RequestBody注解,表示接收请求体中的信息为形参赋值;在这里插入图片描述
  2. 但是PostMan使用Params发送请求参数;在这里插入图片描述
  3. 导致Controller中的方法形参,不能获取PostMan发送来的请求参数。

4.解决方法

方法一:PostMan使用Body发送JSON类型请求参数

在这里插入图片描述

方法二 :Controller使用@RequestParam注解接收请求参数

在这里插入图片描述

5.踩坑小结

@RequestParam注解:从请求参数中获取信息,传给控制器方法形参;
@RequestBody注解:从请求体中获取信息,传给控制器方法形参。

卡了一晚上,泪目!!!


本文转载自: https://blog.csdn.net/m0_48740201/article/details/127329531
版权归原作者 Ivy_up 所有, 如有侵权,请联系我们删除。

“获取PostMan Post请求参数失败”的评论:

还没有评论