2014-02-24 130 views
1

我一直在想如何從REST URL中提取段路徑參數。
我們知道,REST URL參數可以通過兩種方式來表示:從url中提取段路徑參數

  1. 由於路徑
  2. 作爲查詢參數的一部分。

當用戶點擊我們的網站的鏈接,我們捕捉到的鏈接和隨後的路徑中使用谷歌阿比走過,它在我們的數據庫中保存爲三個部分:

  1. 基準url
  2. 段路徑參數(如果有)
  3. 查詢參數(如果有的話)。

例如:http://www.test.com/article/12345?order=2

被分隔成:

的BaseURL:http://www.test.com/article
段路徑參數:12345
查詢參數:order=2

我知道我怎麼能分開段中的網址,但我的問題是我怎麼知道,如果在給定的網址段是參數或不是。例如,在上面的例子中,「12345」可能是一個REST參數或者只是路徑的一部分。一個人如何區分

+0

是不是已經被WCF操作決定Uri模板? –

回答

3

使用Uri類:

Uri uri = new Uri(@"http://www.test.com/article/12345?order=2"); 

foreach (var segment in uri.Segments) 
{ 
    Console.WriteLine(segment); 
} 

,你會得到:

/ 
article/ 
12345 

uri.Query會給你?order=2

+0

我改寫過這個問題。 – user3347535