同じエンドポイントからサービスを提供する MongoDB-backed Flask アプリケーションを構築しようとしています:
- デフォルトで HTML Web インターフェイス
- 次の場合は JSON 応答
Content-Type == application/json
アイデアは、ブラウザーでアプリケーションを使用するユーザーと、プログラムで API を使用するサービスの両方がhttp://myapp.com/users/12345にアクセスできるということです。前者には HTML 応答が提供され、後者には JSON 応答が提供されます。
私が理解しているように、これはhttp://myapp.com/api/users/12345などの別のパスから API を提供する伝統とは対照的に、「純粋な」REST に準拠しています。
結果がデフォルトで JSON として提供され、要求された場合は XML として提供されるということを除いて、Eve のドキュメントにはビューに関する議論はありません。
次のように、この動作をオーバーライドするクリーンな方法はありますか?
- 次の場合、標準の Eve JSON 応答が提供されます。
Content-Type == application/json
- それ以外の場合、ビューは Eve から返されたデータにテンプレートを適用して HTML 応答を生成しますか?
これは、RESTful と DRY の両方を備えたアプリケーションを作成するための洗練された手段のようです。