2014-02-25 211 views
0

我遇到了使用路由屬性的Web API 2的問題。我現在已經成功地使用了它們,但我有一個始終返回404錯誤。由此,控制器有其他方法正在按預期工作。Web API 2路由失敗

[RoutePrefix("api/physicalschool")] 
    public class PhysicalSchoolController : ApiController 
    { 
     [HttpGet] 
     [Route("state/{stateId:int}/districts")] 
     IEnumerable<PhysicalSchoolBasic> GetDistrictsByStateId([FromUri]int stateId) 
     { 

我不知道爲什麼會發生這種情況。也許一組新鮮的眼睛會幫助我。

在此先感謝。

這裏是一個工作:

[HttpGet] 
    [Route("school/{groupId:int}/propertytypes")] 
    public IEnumerable<PhysicalSchoolProperty> GetPhysicalSchoolTypes(int groupId = 0) 
    { 

這是相同的控制器上,並使用相同的RoutePrefix。

+0

請提供更多詳情。你能展示一種正在工作的方法嗎? http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist – OlivierLi

+0

什麼是您的請求網址?還可以分享您的中心路線配置如何? –

+0

我用路由屬性覆蓋它們。他們是默認的。 – user3329235

回答

0

想通了。我忘了公開這個方法。

0

哇。我覺得毫無價值。我花了大約3個小時試圖在一個新的空網站應用程序項目上找到類似的問題,只是選中了web api引用複選框。基本上任何完全空的應用程序。我創建了一個新的控制器並在其上放置了屬性路由。剛拿到404s。原來,這是因爲我的班級沒有被公開。