指定されたDjango Rest Frameworkで外部APIから内部APIを呼び出す必要があります。 ユーザーがフロントエンド(角にある)のボタン('View Calendar'
)をクリックすると、DRFのAPIエンドポイント('/viewCalendar/'
)が呼び出されます。これは外部APIエンドポイントです。 /viewCalendar/
のエンドポイントのviews.py
では、実際にメソッドを実行して出力を返す別のAPI(たとえば、'/commandExecForCalendar/'
)を呼び出すようなコードを記述する必要があります。この出力は、外部APIによってフロントエンドにさらに応答されます。 外部APIと内部APIの両方が同じDRFプロジェクトに存在します。Django Restフレームワーク:外部APIから内部APIを呼び出す
myDRFProj/
commandExecApp/
views.py -------- > this CBV works for internal calls
.
.
externalAPIApp/
views.py -------- > this CBV handles API call from front-end and it will call the API for internal calls
mydrfproj/
settings.py
urls.py ---------- > holds both external and internal API endpoints
urls.py
url(r'commandExecForCalendar', commandExecAppView.cmdExcFrCalendar.as_view()),
url(r'viewCalendar', externalAPIAppView.extApiCall.as_view()),
ので、外観は内部に要求データを送信し、フロントエンドへの対応まで、そこから結果を取得するように、これらの二つのビューを作成する方法?
です。 REST APIエンドポイントを同じに保ちながら、呼び出されるコードの主な実装を複数の場所から移動することができます。したがって、 'commandExecApp'のコードをヘルパーメソッドまたはクラスに抽象化し、そのモジュールを' externalAPIApp'によって使用されるようにインポートすると、明示的にHTTPリクエストを行う必要がなくなります。 – Jason