PythonでAPIインターフェイスをラップする方法
Python では API インターフェースのカプセル化にクラスまたは関数が使えます。
- クラスラッパー API インターフェイスを使用する
import requests
class APIWrapper:
def __init__(self, base_url):
self.base_url = base_url
def get_data(self, endpoint, params=None):
url = self.base_url + endpoint
response = requests.get(url, params=params)
return response.json()
def post_data(self, endpoint, data=None):
url = self.base_url + endpoint
response = requests.post(url, json=data)
return response.json()
# 使用示例
api = APIWrapper('https://api.example.com')
data = api.get_data('/users')
print(data)
- 関数でAPIインターフェースをカプセル化します。
import requests
def get_data(base_url, endpoint, params=None):
url = base_url + endpoint
response = requests.get(url, params=params)
return response.json()
def post_data(base_url, endpoint, data=None):
url = base_url + endpoint
response = requests.post(url, json=data)
return response.json()
# 使用示例
base_url = 'https://api.example.com'
data = get_data(base_url, '/users')
print(data)
どちらを採用するかは、用途またプロジェクトの構成によって異なります。