【发布时间】:2016-05-14 18:04:14
【问题描述】:
我正在处理一个 ASP.NET Web API 项目。我有一个名为 SpellbookController 的 APIController,它对 EntityFramework 存储库具有基本的 CRUD 操作。
但是,当我尝试添加一个采用非 id 参数的方法时,我似乎无法让它正确路由。
它是这样的:
// GET: api/Spellbooks/user@email.com
[ResponseType(typeof(List<Spellbook>))]
[Route("api/Spellbooks/{username}")]
public IHttpActionResult GetSpellbook(string username)
{
List<Spellbook> spellbooks = db.Spellbooks.Where(x=>x.Username == username).ToList();
if (spellbooks == null)
{
return NotFound();
}
return Ok(spellbooks);
}
所以我想打http://localhost:xxxx/api/Spellbooks/emailaddress, 但我每次都得到404。
这绝对是一个 APIController,我打开了config.MapHttpAttributeRoutes();。
我错过了什么?
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-web-api