我有一个正在处理的ASP.NET Web API项目。我有一个名为SpellbookController的APIController,它对EntityFramework存储库有基本的CRUD操作。ASP.NET Web API 5.2.3属性返回的路由404
然而,当我尝试添加需要一个参数,这不是一个ID的方法,我似乎无法将其正确到达的路线。
这里是什么样子:
// GET: api/Spellbooks/[email protected]
[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();
打开。
我错过了什么?
噢,对不起,'emailaddress'是我在谈论的参数,因为他们的用户名是他们的电子邮件地址。 –
所以我想我称之为http:// localhost:xxxx/api/Spellbooks/[email protected]。 这有帮助吗? –
试着用简单的字符串来做,看看会发生什么。也许电子邮件存在字符串问题。 –