0

安らかな Web サービス標準に関するベスト プラクティスを探しています。私が解決したい主なことの 1 つは、URL でのエンティティの分離です。メソッドを 1 つの URL にまとめたり、エンティティ名で分けたりする権利は何ですか?

[WebGet(UriTemplate = "countries/{id}")]
Country GetCountry(int id);

[WebInvoke(UriTemplate = "countries/{id}", Method = "POST")]
Country CreateCountry(int id, Country country);
or 
[WebGet(UriTemplate = "resources/lists/countries/{id}")]
Country GetCountry(int id);

[WebInvoke(UriTemplate = "resources/lists/countries/{id}", Method = "POST")]
Country CreateCountry(int id, Country country);
4

1 に答える 1

1

最初のオプションはよりクリーンです。REST API のすべての URI はリソースである必要があるため、URI に「リソース」は必要ありません。また、リソースのコレクションを表す方法に過ぎないため、「リスト」も必要ありません。

また、例のように C# で REST サービスを実装する場合は、ASP.NET Web APIを使用することを強くお勧めします。これは、REST サービスを実装する非常にクリーンで強力かつシンプルな方法を提供します。

Restful Web Servicesは、Restful Web サービス設計に関する基本的なベスト プラクティスを提供し、優れた例も示した優れた本です。また、成熟度の観点からサービスの安らぎを説明するリチャードソン成熟度モデルを確認することもできます。サービスが安定しているためには、最高の成熟度レベルに達している必要がありますが、そのレベルは正しい方向に進むための優れたガイドとなります。

于 2012-10-03T02:22:18.677 に答える