【发布时间】:2021-07-18 02:07:36
【问题描述】:
我正在尝试创建一个 Web api,它允许我获取价格介于两个不同值之间的所有书籍。
所以通过输入api/books/price/30.0&35.0,我将归还所有书籍with price between '30.0' och '35.0' sorted by price。我的代码如下所示。
[HttpGet("price")]
public ActionResult GetBooksSortedByPrice()
{
var book = FindBooksSortedByPrice();
if (book is null) return NotFound();
return Ok(book);
}
[HttpGet("price/{price}")]
public IActionResult GetBookByPrice(double price)
{
var book = FindBookByPrice(price);
if (book is null) return NotFound();
return Ok(book);
}
//returns books from requested price
private IEnumerable<Book> FindBookByPrice(double price)
{
//var allBooksBetweenPrices = _bookList.Where(_bookList => (_bookList.Price >= firstPrice) && (_bookList.Price <= secondPrice));
//return allBooksBetweenPrices;
return _bookList.Where(_bookList => _bookList.Price.Equals(price));
}
private IEnumerable<Book> FindBooksSortedByPrice()
{
return _bookList.OrderBy(b => b.Price).Where(_bookList => _bookList.Price.Equals(_bookList.Price));
}
我知道我可能会被告知我的路由可能会更好,但由于我不理解该指南的内容,我已经完全阅读了我很高兴收到一个较小的解释(带有代码示例)。
【问题讨论】: