我都位於擁有GetEvents兩個不同文件夾兩個API控制器()動作:如何獲取給定HttpRequestMessage的路由模板變量?
V1
EventsController
V2
EventsController
我希望能夠通過訪問控制器:
api/v1/events and api/v2/events
我的路線模板看起來這樣
api/v{version}/{controller}
私人靜態字符串GetRequestVersion(HttpRequestMessage請求) {
//如何從url中找到{version}值?
}
我已經寫了使用正則表達式代碼的正常工作:
private static string ExtractVersionFromUrl(HttpRequestMessage request)
{
Match match = Regex.Match(request.RequestUri.PathAndQuery, @"/v(?<version>\d+)/", RegexOptions.IgnoreCase);
return match.Success ? match.Groups["version"].Value : null;
}
什麼是從URI retreive這些數據的標準方法?