0
我对Web API完全陌生,并不理解如何过滤获取调用。理解Get方法覆盖
此方法返回我的数据库中的所有项目。
// GET: api/LogEntries
public IQueryable<LogEntry> GetLogEntries()
{
return db.LogEntries;
}
此方法返回数据库中的特定项目。
// GET: api/LogEntries/5
[ResponseType(typeof(LogEntry))]
public IHttpActionResult GetLogEntry(int id)
{
LogEntry logEntry = db.LogEntries.Find(id);
if (logEntry == null)
{
return NotFound();
}
return Ok(logEntry);
}
所以现在我想,所以我创造了这个方法来筛选返回的记录,但它不会工作,因为特定的项目方法被调用。我似乎错过了一个概念,希望你能指出我更清楚的理解。由于
// GET: api/LogEntries
public IQueryable<LogEntry> GetLogEntries(string levelID)
{
int levIdInt;
if (Int32.TryParse(levelID, out levIdInt))
{
return db.LogEntries.Take(300).Where(l => (int)l.Level == levIdInt).OrderByDescending(d => d.TimeStamp);
}
return db.LogEntries.Where(i => i.ID < 0);
}
您也可以访问此API(不添加任何路由)使用: /api/LogEntries?levelId = TheLevel 添加路由允许您以不同方式调整API的形状,并使数据成为url的一部分,而不是查询的一部分。 –