顧客がプログラムでサービスを呼び出すためのWebサービスを実装する方法を検討する際に、Microsoft Web APIフレームワークを確認しましたが、見た目は素晴らしいですが、これは使用するのに最適で最も柔軟なフレームワークですか?
たとえば、顧客が次のようなRESTfulメソッドを呼び出せるようにします。
/ api / products / create
可能な限り柔軟に対応し、お客様がいくつかの異なる方法で電話をかけられるようにします
HTTP GET:
/api/products/create?name=widget&price=1.99
HTTP POST:
/api/products/create
name=widget&price=1.99
JSON via POST:
/api/products/create
{ "name": "widget", "price": 1.99 }
XML via POST:
/api/products/create
<product><name>widget</name><price>1.99</price></product>
そして他に意味のあることは何でも。結局のところ、アクションを実行するための入力が必要なだけで、クライアントが好みの方法で最も簡単に呼び出すことができるようにしたいので、どのように呼び出すかは気にしません。そうすれば、応答できます。同じ形式で、またはたとえばAcceptリクエストヘッダーを介して指定する場合は特定の形式で。
Web APIフレームワークはこれを処理できますか、それともこのように機能する他のルーティングフレームワークがあり、ProductsRepositoryに送信できるProductモデルでコントローラーが呼び出されますか?