2014-02-23 160 views
1

我有一個帳戶控制器中的方法(使用RoutePrefix(「API /帳戶」),我想響應API /用戶而不是API /帳戶,所以我用'〜'來覆蓋它:Webapi 2屬性路由不起作用

[HttpGet] 
[AllowAnonymous] 
[Route("~api/users/{name:alpha}/exists")] 
public async Task<IHttpActionResult> UserExists(string name) 
{ 
    var res = await UserManager.FindByNameAsync(name); 
    if (res != null) 
     return Ok(); 
     return BadRequest(); 
} 


So when I try it out I get the response: 
No HTTP resource was found that matches the request URI 'http://localhost:21975/api/users/johndoe/exists' 

通過一切手段,這應該工作,但它不是出於某種原因,任何人都可以說明爲什麼

回答

4

路線必須...

[Route("~/api/users/{name:alpha}/exists")] 
+0

正要張貼?這個,你錯過了相對根後的第一個'/'。 – Xenolightning