2014-10-29 91 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的记录的行为一致。我不知道它为什么被重命名,但它是一样的!