NancyFxと呼ばれるHTTP呼び出しを行うための別のフレームワークがあります。私の質問は、それを使用する利点は何ですか。私はドキュメントを簡単に見ていた:
https://github.com/NancyFx/Nancy/wiki/Documentation
そして、私はこれを使用したいので、顕著な機能がないように見えます。 WebHttpよりもそれを使用する利点は何ですか?
PS:「スーパーデュパーハッピーパス」を繰り返し繰り返す奇妙なフレーズについて読み続けています。この「スーパーデュパーハッピーパス」以外に何かありますか?実際の機能は実装されていますか?
ラムダを使用して相対パス、引数、および応答の実装を識別する「ルート」(MVCの意味)を定義するための別のアプローチを提供しているようです。
最終的に、フレームワークの主な利点は、その表現力です。 ASP.NET MVCでは、RouteTableはglobal.asaxにあり、実装はControlにあります。 NancyFxでは、これが一般的なパターンのようです。
Action["/path"] = args => { return your_implementation_here; }
実装例:
Get["/products"] = id => { return GetRepository().Products.Single( q => q.Id == id); };
説明:引数「Id」を持つ相対エンドポイント「/ products」へのHTTP Getは、Id引数が製品のIDと一致するリポジトリから単一の製品を返します。
表現力豊かで簡潔。
免責事項:私はNancyFxの支持者ではありません:)
プロジェクトのREST)部分について、NancyFxとASP.NET Web APIのどちらを使用するかを評価中です。
GlennFerrieLiveで既に言及されているシンプルさと表現力(それ自体に価値があると思います)を別にすれば、私はもう2、3のニースのビットを把握したと思います。
操作の実行は簡単ですbeforeおよびafter APIリクエスト処理Aspect Orientedのような方法で.
デフォルトでは、フレームワークは受け入れられた返される型を処理するため、JSON、XMLなどの出力を適切に変換します...
リクエストを実装するラムダは、実際のfilledデータを返しませんが、クエリの形式のままです。その後、クエリを実際に実行し、DBにアクセスし、実際のデータを返す前に、フィルタリング、並べ替え、およびその他の操作を簡単に追加できます。
彼らは何らかの方法でHttpRequestをラップし、開発者がそれと同等のものを利用できるようにしましたが、この新しいオブジェクトが注入され、もちろんモックで置き換えることができるという違いがあります。
たぶんそれらのいくつか(すべて?)は既にASP.NET Web APIで利用可能であり、同じように簡単に、私は確実に知りません。
HTH