Djangoインターフェイスをカプセル化する方法は?
DjangoでWebAPIをラップする方法にはいくつかあり、その中の2つの一般的な方法は次の通りです。
- ビュー関数を用いてインターフェイスをラップする:Django のビュー関数を作成してインターフェイスリクエストを処理できます。ビュー関数では、リクエストパラメーターを処理し、ユーザー権限を確認し、他の関数やモジュールを呼び出して具体的なビジネスロジックを実行し、対応する結果を返します。デコレータを使用してインターフェイスの要求方式(GET、POST など)や、認証、アクセス制御などの他の必要な機能を指定できます。
ネイティブな日本語での言い換え:
from django.http import JsonResponse
def my_api(request):
if request.method == 'GET':
# 处理GET请求逻辑
...
return JsonResponse({'result': 'success'})
elif request.method == 'POST':
# 处理POST请求逻辑
...
return JsonResponse({'result': 'success'})
- DjangoのクラスビューでAPIをラップする。Djangoのクラスビューを継承したサブクラスを作成して、APIリクエストを処理します。クラスビューは、より強力な機能と、より柔軟なコードの構成を提供します。メソッドを使用して、異なるリクエストメソッドを処理したり、ミックスインクラスを使用してコードを再利用したりできます。
これはネイティブによる日本語の言い換えです。
from django.views import View
from django.http import JsonResponse
class MyApiView(View):
def get(self, request):
# 处理GET请求逻辑
...
return JsonResponse({'result': 'success'})
def post(self, request):
# 处理POST请求逻辑
...
return JsonResponse({'result': 'success'})
いずれの手法を用いる場合も、インターフェイスのURLと、対応するビュー関数またはクラスビューをDjangoのURL設定ファイル内で紐づける必要があります。これは、DjangoがリクエストされたURLに応じて、インターフェイスリクエストを処理する適切なビューを選択できるようにするためです。