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'}
では、どのような道をたどるべきでしょうか?