MVC プロジェクトで API を使用する方法を調べましたが、疑問があります。(誰かが尋ねる前に、私は C# 言語で書いています)。
これまでのところ、Api のルート構成がWebApiConfig
クラスに設定されており、デフォルトではルートが次 のようになっていることがわかっています。
routeTemplate: "api/{controller}/{id}"
これにより、jSon リクエストをコンパイルするときに、特定の結果を得るためにどの URI を呼び出さなければならないかがわかります。
しかし、もっと具体的にしたいので、Api のルートを次のように変更しました。
routeTemplate: "api/{controller}/{action}/{id}"
このルートを使用すると、ApiController 内の特定のアクション (メソッド?) への URI を直接構築できます。
また/{controller}/
、jSon で URI を作成しているときに、 がクラスの名前であることもわかりました。つまり、クラスがProductsController
コントローラー名である場合、URI を構築するために使用する必要があるのは/products
. (したがって、全体の URL は になります/api/products
)。
質問は次のとおりです。
ちょうど という名前の ApiController クラスがある場合Products
、それは URI の一部として認識できますか? または、ApiController クラスは「Controller」で終わる必要がありますか?
チュートリアルに従って、ApiController を他のコントローラーと同じフォルダーに配置しました。Api を別のフォルダーに配置できることはわかっています。では、すべての API は MVC によって自動的に認識されるのでしょうか? つまり、どこに保存しても、API として認識されますか?
もしそうなら、最終的に私が取り組んでいるプロジェクトとは別のプロジェクトにある API を呼び出すことができますか?
API のコレクションを含む単一のプロジェクトを (クラス ライブラリとして) 作成できますか?
別のプロジェクトで API を呼び出したい場合、ルート構成は変更されますか?