0
我有以下的路線在我的WebAPI成立..Asp.net的WebAPI從匹配排除路徑不止一次
//Route for getting the api access token
config.Routes.MapHttpRoute(
name: "AccessTokenRoute",
routeTemplate: "api/access-token",
defaults: new { controller = "AccessToken" }
);
//Default route for the api
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
我有一個名爲AccessTokenController控制器。當一個請求帶有url/api/access-token時,一切正常。它擊中適當的控制器。
我的問題是,如果請求進入/ api/AccessToken,它也將匹配默認路由。如果他們以這種方式訪問它,我想阻止匹配。路由系統中是否存在這樣的事情?
有沒有辦法做到這一點與約束。我試圖將控制器設置爲以下正則表達式,但沒有成功。 ....約束:新{控制器= @「[^ AccessToken]」} – Ronnie
我不善於使用正則表達式,所以我創建了一個實現IRouteConstraint的類,它工作。 –
嘗試約束:new {controller = @「^(?!。* accesstoken)。* $」} –