轻松创建可维护的API客户端。
项目描述
BaseAPI
轻松创建可维护的API客户端。
理由
构建其他基于Python的API客户端时,我发现往往会得到一个“大类”,其中包含了我API的大部分定义。BaseAPI试图将无关的API概念分开,希望使维护体验更加容易。
安装
PyPi是最容易安装的方式
pip install base-api
使用
创建客户端
通常通过继承Client
类来创建自己的客户端类
from baseapi import Client
class MyClient(Client):
DEFAULT_URL = 'https://my-api.com'
在这里,我们设置了默认的API URL。这也可以在创建客户端时设置
client = MyClient(url='https://localhost')
创建API
要向您的客户端添加访问您的API的功能,请使用单个API类。这些反映了您的整体API的独立部分。
例如,您可能有一个API的授权组件。要向客户端库添加授权,您可能创建一个名为auth.py
的文件
from baseapi.apis import GraphqlApi
class AuthApi(GraphqlApi):
def login(self, username, password):
login_query = '...'
data = {
'username': username,
'password': password
}
return self.perform_query(login_query, data)
def logout(self):
logout_query = '...'
return self.perform_query(logout_query)
一旦您有了API的这一部分准备就绪,您可以通过在客户端类定义期间指定它来将其添加到客户端中
from baseapi import Client
class MyClient(Client):
DEFAULT_URL = 'https://my-api.com'
DEFAULT_APIS = (
'auth',
)
在这种情况下,auth.py
必须放在您的PYTHONPATH
中,很可能与您的客户端类文件放在一起。现在,您可以通过以下方式访问客户端上的API方法
client = MyClient()
client.login('username', 'password')
目前支持两种API类型,GraphQL和Rest。与上面的auth
API相同,但使用Rest
from baseapi.apis import RestApi
class AuthApi(RestApi):
def login(self, username, password):
data = {
'username': username,
'password': password
}
return self.post('/login', data)
def logout(self):
return self.post('/logout')
向客户端公开方法
API 中暴露给客户端的方法是基于前导下划线选择的。没有下划线的方法会自动添加到客户端类中,而有下划线的方法被视为私有。
例如,可以将一个本地验证方法添加到 API 中,如下所示
from baseapi.apis import RestApi
class MyApi(RestApi):
def get_something(self, type):
self._validate_type(type)
return self.get('/api/something, data={'type': type})
def _validate_type(self, type):
# Do validation.
pass
项目详情
关闭
base-api-0.1.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 72fcc06cabf46e8a63453b20df7b413d027da54831cbd44d1b75f72877951871 |
|
MD5 | a76cd199471f26ec0731b9b1d0b50bd2 |
|
BLAKE2b-256 | afc8cdbe98706feeb1530ee8a96c45a1f54c3746e28cc5f72bc058670d567d65 |