2

同じエンドポイントからサービスを提供する 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 の両方を備えたアプリケーションを作成するための洗練された手段のようです。

4

1 に答える 1