dueros模拟测试没有请求后台_记一次前端请求后台获取不到参数问题

    前端调用后台接口传递json格式数据时,后台获取不到传递的参数,以前解决这个问题脑海中一直都是比较模糊的,最后解决了却并不清楚是什么原因,鉴于昨天又再次碰到了,一时又不知如何是好,遂再此做下记录,加强印象,也希望可以帮助到大家。

    --------------------------------------------------------------

首先后台有一个这样的接口

6eca67615336751f4c155dc16428474d.png

实体类Blog

4d505cd3e7d19ac0d1d3fe3c9d7611f7.png

模拟请求工具我用的是postman进行请求模拟

首先模拟一直获取不到数据的错误请求,模拟数据如下

4e40e2e41e03adc57386fd37d36a41fe.png

后端debug可以看到是获取不到参数的,都是null

f20c815337168da14d2b3df83646a934.png

为什么获取不到,其实原因就在于前端发送的json数据格式问题上,看下上图发送的json数据体,外面大括号里面包着一个key值为blog,value类型为Blog的类型数据,其实后端如果要接收的话对应的格式应该是这样的,我们重新修改下后台接收的入参实体

beddd30b6c43dad12d26ec8950678034.png

然后接口改为

d40713829634876ef58e0ac239b33b5e.png

依然在postman中使用如下请求参数

4e40e2e41e03adc57386fd37d36a41fe.png

后台debug我们看下

97eb2cac0671af9607400c75eb5f3e97.png

可以看到这次数据有了

这里其实后台接口的入参名称就是经常误导我的地方,后台定义的入参名称是blogParam,但是前端请求的时候并没有一个名称,其实前端在使用json作为参数请求时,后端使用requestBody接收时是不会使用入参名称来进行匹配,而是按照类型去匹配的,也就是前端传递一个json格式数据,后端会解析然后给对应的属性设值

那如果我想使用原先接口的入参来接收呢,只有修改下前端请求的数据体

b942db02cd1ffc5742293a295a73cdf6.png这样可以看到原先接口获取不到的数据现在已经有数据了,问题也顺利解决了

33c43605dc5ab9b83348cd572cc3bad2.png

遇到的问题还是得要知道原因是什么,这样下次遇到了才能知道如何解决

5209991708eee318c64c978cc336672d.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值