2014-10-29 103 views

回答

1

是的,它們是相同的。我正在關注同一篇文章,並且遇到了這個問題(RouteOrder不存在於System.Web.Http.RouteAttribute中)。

我做了一個快速測試在我的Web API 2應用程序來驗證:

[Route("{name}")] // unconstrained parameter 
[HttpPost] 
public string Test(string data) { 
    return data; 
} 

[Route("preview")] // literal 
[HttpPost] 
public string Preview(string data) { 
    return data; 
} 

當我打api/preview與提琴手,Preview()被擊中,因爲字面段參數段之前考慮。如果我改變它來給文字的動作不太重要:

[Route("preview"), Order = 1] // literal 
[HttpPost] 
public string Preview(string data) { 
    return data; 
} 

再來打api/previewTest()被擊中,在與RouteOrder的記錄的行爲一致。我不知道它爲什麼被重命名,但它是一樣的!