まあ、属性ルーティングでASP.NET Web API 2を使用しています。私は2つのコントローラーを持っています:2つの異なるコントローラのWeb Apiルーティング競合?
[RoutePrefix("api/menus")]
public class MenusController : ApiController {
}
[RoutePrefix("api/menus/items")]
public class MenuItemsController : ApiController {
}
私は両方のコントローラーですべてのCURDメソッドを持っています。現在、すべてのメソッドはPOST
を除いて正常に動作しています。興味深いことに
Multiple controller types were found that match the URL. This can happen if attribute routes on multiple controllers match the requested URL.
、完全にOK MenusController
作品のPOST
方法:私はMenuItemsController
のPOST
メソッドを呼び出そうとするたびに、私は次のエラーを取得します。問題の原因となっているのはMenuItemsController
のPOST
メソッドだけです。 私はOrder
プロパティをRoute
として使ってみましたが、無駄でした。
ご協力いただきまして誠にありがとうございます。
EDIT: マイPOST
メソッドのルートは以下の通りです:
POST api/menus/
POST api/menus/items
私は同じ問題があると思います。私は1つのコントローラに 'GET v1/Jobs /'を持っています。 'GET v1/Jobs/Materials'と' PUT v1/Jobs/{jobID}/Materials/{matID} 'を' MaterialsController'に追加しました。しかし、PUTやPOSTを 'JobsController'に追加すると、ルーティングで' Jobs'プレフィックスを使用するすべてのコントローラが破損します。 –