WebApi路由配置小筆記

2021-09-28 07:43:11 字數 1671 閱讀 4000

webapi路由配置小筆記

最近寫乙個webapi介面供前端呼叫,在webapiconfig.cs裡進行路由配置時,出現了問題,花了不少時間。

現有2個controller,乙個passagecontroller,用於passage類的相關資料處理,乙個videocontroller,用於video類相關的資料處理。

為方便說明問題,這裡對2個類做簡化處理。

passagecontroller

public

class

passagecontroller

:apicontroller

}

videocontroller:

public

class

videocontroller

:apicontroller

}

有問題的路由配置:

}呼叫介面

將獲得id為0的passage資訊,這個沒有問題。

呼叫介面

將發生找不action的錯誤

現在,將兩個路由配置的位置調換,

}呼叫介面

將發生找不action的錯誤

呼叫介面

將獲得id為0的passage資訊,這個沒有問題。

可見,哪乙個路由放在前面,哪乙個的action便可以正常訪問到。這個錯誤和webapi的路由匹配原則有關。

要想兩個路由都能同時工作,可以在routetemplate裡加乙個標誌,變為api/passageapi///api/videoapi///

這樣就可以在呼叫apiurl裡加乙個辨別controller的元素。兩個路由便可以正常工作了。

WebApi路由約束

自 路由約束讓我們可以限制模板引數的匹配方式。一般的語法是 route users public user getuserbyid int id route users public user getuserbyname string name 如果引數int,則選中第乙個getuserbyid,否...

開源 NodeJS仿WebApi路由

用過webapi或asp.net mvc的都知道微軟的路由設計得非常好,十分方便,也十分靈活。雖然個人看來是有的太靈活了,team內的不同開發很容易使用不同的路由方式而顯得有點混亂。不過這不是重點,我在做node專案的時候就覺得不停的用use 來指定路由路徑很煩人,所以用typescript寫了這個...

基於Attribute的Web API路由設定

路由對於mvc應用程式來說都是至關重要的乙個部門,不管是asp.net mvc或者ruby on rails 當然還有其它的,我只熟悉這兩個 asp.net mvc自帶的路由配置是在global.asax檔案中,這裡給大家介紹乙個基於屬性的路由配置工具 attributerouting,它不僅可以適...