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的一部分,而不是查詢的一部分。 –