4

かなり新しいASP.NET Web API.

私は最近、Web クライアントとモバイル クライアントの両方で使用できる大規模な API を設計しています。NuGetWeb API用の Microsoft のパッケージを通じて提供される ASP.NET Web API テンプレート内で、ビューに対して非常に最小限のアプローチを取り、少しきれいなホームページを使用していることに気付きました。

これはある意味で私を元に戻しました。主な理由は、Web API はまさに Web API のためだけに設計されていると思い込んでいるからです。

他の意見では、Web クライアント (API とのインターフェース) を開発するのは標準ですか?

  • Web API プロジェクト内ですか?

    または

  • Web API プロジェクトの外で、モバイル クライアントやデスクトップ クライアントと同じように Web クライアントを分離しますか?

2 番目の選択肢は、保守性とコードのクリーンさの点で論理的に思えますが、ASP.NET Web API で設計する場合に役立つ他の観点があるかもしれません。どう思いますか?

4

1 に答える 1

2

Web API をお使いいただきありがとうございます。

最初の問題については、Web API をビューから分離することが概念的に理にかなっていることは正しいです。MVC の新しいプロジェクト ダイアログで「空」プロジェクト タイプを使用してから、API コントローラーを追加することをお勧めします。または、NuGet パッケージを自分で空の Web プロジェクトに追加します。パッケージは、プロジェクトにビューを追加するべきではありません。

クライアントに関しては、保守性のためにクライアント ライブラリを別のプロジェクトに分離することを強くお勧めします。ただし、クライアントと Web API の間で共通のデータ型を共有しても問題ありません。その場合、モデルを別の dll に移動し、クライアントと Web API の両方がそのライブラリ内の型を参照するようにするのが一般的なパターンです。

クライアントと Web API を分離したい理由はいくつかあります (さらに多くの理由があります)。

  • ライブラリを配布する場合は、Web API コードではなく、クライアント コードを配布する必要があります
  • クライアントとサーバーの間にクリーンなコントラクトを作成し、クライアントがサーバーの実装に依存したり、その逆を行ったりしないようにする必要があります。
于 2013-04-14T01:19:42.627 に答える