33

.NET を使用してREST ful Web サービスを 作成するためのベスト プラクティスとサンプル コードの良いリンクを探しています。

また、REST に関するその他のご意見もお待ちしております。

4

6 に答える 6

23

ADO.Net Data Servciesを使用すると、.Net の世界で RESTful Web サービスを簡単に構築および使用できますが、それでも概念を理解することが重要です。WCF (後で REST サポートを追加) と比較すると、ADO.Net Data Services は主に REST 用に構築されています。

RESTful Web サービスを構築するためのガイドラインには、必要なリソースに関するすべての情報が含まれています。

これは、別の役立つブログ エントリです。

統一されたインターフェイスの制約は、Web 用に構築されたサービスが Web アーキテクチャの適切な参加者になる方法を説明しています。これらの制約は、次のように簡単に説明されています。

1) リソースの識別: リソースとは、名前を付けて表すことができる任意の情報項目です (たとえば、ドキュメント、特定の時点での株価、ラスベガスの現在の天気など)。サービス内のリソースは、URI を使用して識別する必要があります。

2) 表現によるリソースの操作: 表現は、リソースの物理的な表現であり、有効なメディア タイプに対応する必要があります。サービスの背後にあるデータ形式として標準のメディア タイプを使用すると、幅広い潜在的なクライアントがサービスにアクセスできるようになり、サービスの範囲が広がります。リソースとの相互作用は、その URI によって識別されるリソースの表現の取得と操作に基づく必要があります。

3) 自己記述型メッセージ: サービスのインタラクションでステートレスの原則に従い、標準のメディア タイプを使用し、HTTP メソッドの使用法と制御ヘッダーを介してメッセージのキャッシュ可能性を正しく示すことで、メッセージが自己記述的であることを保証します。自己記述型メッセージにより、クライアントとサーバーのどちらにも影響を与えずにメッセージを仲介者が処理できるようになります。

4) アプリケーション状態のエンジンとしてのハイパーメディア: アプリケーション状態は、URI とハイパーリンクを使用して表現し、状態間の遷移を行う必要があります。これはおそらく、 Roy Fielding の論文で説明されているアーキテクチャ上の制約の中で最も物議を醸し、最も理解されていないものです。実際、フィールディングの論文には、アプリケーションの状態を表すために HTTP Cookie を使用することに反対する明確な論拠が含まれていますが、これはしばしば無視されています。

于 2008-09-13T12:19:30.610 に答える
8

Windows Communication Foundationは、.NET 3.5 以降の REST モデルをサポートしています

MSDN でドキュメントとコード サンプルを見つけることができます。

RESTとPOX

REST を学習するためのリソース:

于 2008-09-13T11:16:57.673 に答える
7

私が読んだ中で最も優れた入門書はRESTful Web Services bookで、モデルと原則を説明するだけでなく、実際に RESTful Web サービスを設計する方法を示しています。最も役立つのは、REST API の記述/指定方法に関するチェックリストです。

  1. データセットを把握する [つまり、データモデルを指定する]。
  2. データセットをリソースに分割します。リソースの種類ごとに:
  3. URI を使用してリソースに名前を付けます。
  4. 統一インターフェースのサブセットを公開します [つまり、使用する HTTP メソッドとその機能を指定します]。
  5. クライアントから受け入れられる表現を設計します [たとえば、PUT または POST できる XML 形式]。
  6. クライアントに提供される表現を設計します [たとえば、返される XML]。
  7. ハイパーメディア リンクとフォームを使用して、このリソースを既存のリソースに統合します。
  8. 典型的な一連の出来事を考えてみましょう: 何が起こるはずですか? 【ユースケースの主な成功シナリオのようなものです。】
  9. エラー状態を考慮してください。[これは、ユース ケースの例外シナリオのようなものです。]
于 2008-09-13T11:44:28.560 に答える
3

xml.comの「RESTful Web」シリーズの記事は優れた入門書です。

著者 (The Atom Publishing Protocol で有名な Joe Gregorio) は、定期的に REST に関する洞察に満ちた記事を彼の ウェブログで公開しています。「RESTify DayTrader」 (ベンチマーク株式取引アプリケーションに適用された REST アーキテクチャ) は、良い出発点です。Pythonでの小さな RESTful Web フレームワークの実装を示す" Why so many Python web frameworks? "も気に入っています。

于 2008-09-15T23:06:37.140 に答える
1

REST Web サービスの開発を始めたとき、Mark Masse の REST API Design Rulebook を読みました。基本と理論を理解すれば、WCF、HTTPListener、または ServiceStack を使用して REST を実装できるようになります。これらのフレームワークはすべて .NET であり、非常によく文書化されています...

サービス スタック (http://www.servicestack.net/) には、開始するのに十分な情報が Web 上にあることをお勧めします。

WCF は ASP.NET Web API を提供します。これは問題ありませんが、私は使用しません。

いずれにせよ、現在、優れた REST フレームワークはありません。使いやすいものを選択し、本から学んだ理論を適用する必要があります。

于 2012-12-13T08:28:06.523 に答える