MVC Hata: Web API Routing – Multiple Actions Were Found That Match The Request

Bu hata yeni bir MVC Api dosyası oluşturduktan sonra her ne kadar farklı isimlere sahip olsada mağlesef MVC Controller mantığındaki gibi {controller}/{action}/{id} şeklinde bir route’a sahip olmadığından hata veriyor bu hatanın çözümüne basit bir şekilde ulaşabilirsiniz.

MVC Hata: Web API Routing – multiple actions were found that match the request

Hatanın çözümünden önce sorun şundan kaynaklanıyor ilk defa mvc projenize api controller ekliyorsanız App_Start klasörü altına WebApiConfig adından bir sınıf dosyası açılıyor burada defaul olarak gelen routeTemplate şu şekilde

C#(WebApiConfig.cs)

Üstteki kodda belki farketmişsinizdir standart bir mvc projesi açtığınızda mvc projenize ait Route işlemlerinin yer aldığı RouteConfig adlı sınıfınız içerisindeki şablonda routeTemplate daha farklı aslında farkı controller’dan sonra action placeholder’ininda yer alması diyebiliriz. Şimdi RouteConfig.cs dosyamıza gözatalım.

C#(RouteConfig.cs)

Gördüğünüz gibi api öneki yok ve action placeholder’i var aslında bizim api sınıfımız action placeholder’ina sahip olmadığından direk olarak isme göre bakmayıp parametre’ye göre baktığından WebApi patlıyor bu sorunu aşmak için yapmanız gereken WebApiConfig sınıfımızdaki routeTemplate action placeholder’ini eklemek olacaktır.

C#(WebApiConfig.cs)

Bunlar da hoşunuza gidebilir...

2 Cevaplar

  1. faruk dedi ki:

    adamsın hacı çıldırcaktım az daha 😀

Bir Cevap Yazın