python - Python 请求:如何同时设置可选参数和非可选参数?
问题描述
我想用 API 查询我的数据库。
我有:
import requests
query_params = {'author':'grisham','year':'1998'}
response = requests.get(url='http://111.111.1.1:1000',params=query_params)
这很好用,我可以返回 1998 年出版的作者 grisham 的所有书籍的数据框。
但是,我想将其修改为“作者是一个强制性参数,但可以选择添加年份作为第二个参数”(以区分那些只想要他所有书籍的人,以及那些想知道他在某一年)。
我似乎在请求库中找不到参数,而不是参数,我可以将其更改为两个字典,可选参数和强制参数,并分别传递它们吗?还是有更好的方法来做到这一点?
我想这就是我正在寻找的东西,想知道我的用例是否有更pythonic/高效/更清洁的东西?
解决方案
就像其他人所说的那样,由您来验证提供的参数以确定是否正确传递了任何必需的参数。requests
库只是将其发送出去。
是的,您可以将两个字典传递到requests.get()
(需要 Python 3.5+):
query_params = {**required_params, **optional_params}
推荐阅读
- java - 如何排除 IntelliJ 中的不安全删除?
- java - 为什么我们需要在 PACT 测试中进行单元测试?
- vb.net - 在每个循环中跳过一行,并带有一个排好序的列
- javascript - 测试开关案例 - 单元测试
- c#-4.0 - Sandcastle 帮助文件生成器 (SHFB)。控制在源代码文件的帮助文件中添加/不添加类
- go - 找不到提供包的模块
- spring - Spring Data Rest以毫秒格式返回日期
- nsis - 在安装新的之前卸载以前的安装程序时,如何使用 NSIS 隐藏从 un.onInit 弹出的消息框
- wpf - WPF VB.net 如何格式化数据网格中的列以显示十进制数?
- html - 将小部件嵌入未知站点时如何保护样式?