提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文
前言
接口自动化如何拼装带有ID的URL,如果没有ID则直接传入URL即可
提示:以下是本篇文章正文内容,下面案例可供参考
一、代码如下:
代码如下(示例):
payload = {"id": '24901'} endpoint = "/sub_firms/resource_statistics_list/firm_id=<id>" c = re.compile(r'<\S*?>') paths = c.findall(endpoint) for path in paths: tp = path[1:-1] if tp not in payload: raise ValueError("invalid restful api rule") else: endpoint = endpoint.replace(path, str(payload.pop(tp))) print(endpoint)
二.解析
代码如下(示例):
endpoint = "/sub_firms/resource_statistics_list/firm_id=<id>" c = re.compile(r'<\S*?>') paths = c.findall(endpoint)解析:使用正则表达式查找
<...>
这样的模式,并将它们存储在paths
列表中
for path in paths:
tp = path[1:-1] # 移除尖括号
if tp not in payload: # 检查payload中是否包含这个键
raise ValueError("invalid restful api rule") # 如果不在,抛出错误
else:
endpoint = endpoint.replace(path, str(payload.pop(tp)))
解析:如果包含,则使用
replace()
替换占位符方法,将endpoint
字符串中的占位符(例如<id>,这里指的是path
)替换为实际的值。payload.pop(tp):使用
pop()
方法从payload
字典中获取与tp
(例如 "id")对应的值;