python自动化对筛选场景的api封装方法

文章讲述了在处理具有多个可选参数的API接口时,如何从使用显式参数转向利用kwargs字典和循环来动态构建URL,以适应不同筛选条件的情况。
摘要由CSDN通过智能技术生成

例如一个查询集群的接口,列表里返回了所有集群和集群的信息,在对前端根据不同的条件筛选的时候,会因为传参不同,url也不同,例如

def api_1(self, a=None, b=None, c=None, d=None, e=None, f=None, g=None, h=None, i=None):
    data_url = f"&ENV=local" \
               f"&PageSize=100" \
               f"&PageNumber=1"
    
    if a:
        data_url = f"&ENV=local" \
                   f"&PageSize=100" \
                   f"&PageNumber=1" \
                   f"&a={a}"

可以看到当api存在a参数的时候,url就需要加上a,当这个接口有很多入参的情况下,在用这种写法就不合适了
可以使用**kwargs先来全部接受成字典形式,在通过for循环取值并拼接

def api_1(**kwargs):
    xxx_url = "https:xxxxxxxxxxxxxxx&"
    data_url = {
        "ENV": "local",
        "PageSize": "100",
        "PageNumber": "1"
    }

    final_data = "&".join(f"{k}={v}" for k, v in {**data_url, **kwargs}.items())
    url = xxx_url + final_data
    print(url)

api_1(a="1", b="2")

简化部分
# for k, v in {**query, **kwargs}.items():
    #     print(k, v)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值