接口调用问题:入参明明没有传值,但是会被自动赋值为None

问题:

在服务接口调用中,出现这样的情况,入参明明没有传值,但是会被自动赋值为None的情况,接受参值的代码为下图,接收参数时已经用try except做了参值接收异常处理,为什么还会出现问题?

接收参值代码截图:
接收参值代码

入参截图:
在这里插入图片描述

分析及解决:

  1. 与java代码原因有关:在java里是有对象的概念的,一个对象对应一个类,类就相当于是这个对象的框架,这个框架规定这个对象内部具有哪些字段,而在调用你的接口的时候,请求体的数据结构就对应我们代码里定义的这个类,也就是说,这时候这个请求体里的数据结构是统一且固定的,所以,不管这个字段值有没有定义,传给你的这个请求体里,对应的这个字段都是存在的,因为在后端的java代码里,数据结构就是这么被定义的。
  2. 修改思路:
request_data = api.payload
#添加.get方法避免后端入参时候请求体里面有参数名但是无参数值传入的情况,解决try except无法解决的异常
precision_score = request_data.get('precisionScore', 0.93)
similar_score = request_data.get('similarScore', 0.65)

以后接口调用方式可以考虑这样写。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值