我想为 RESTful API 服务创建一个 Python API 包装器,并且我在考虑如何设计它。
示例 URL 请求:
https://www.api.com/collection/resource.json?userid=id&password=pass&command=value
我将让每个集合成为一个模块,并将资源作为这些模块中的函数,例如,我将如何使用 api:
from apiname import collection
# params is a dict of the parameters sent to this resource
params = {
'userid': '123456',
'password': 'pass',
'command': 'value'
}
collection.resource(params)
我的主要问题是关于params
传递给资源的字典,我应该检查为资源传递的参数:
- 检查是否传递了所需的参数(如果未传递,可能会引发异常)
- 检查它们的类型(str、list、int、bool)
还是我应该保持简单并使函数将传递给它的任何内容发送到资源?
如果我应该检查参数,推荐的方法是什么,我想保留为每个资源存储的所有默认参数,然后使用这个默认字典检查所有传递的参数,例如:
# this is the dict holding the info about all the parameters
defaults = {}
defaults['userid'] = {'type': str, 'required': True, 'default': None}
defaults['password'] = {'type': str, 'required': True, 'default': None}
defaults['command'] = {'type': list, 'required': False, 'default': 'some-value'}
那么应该走什么路呢?