[c#]Web API 显示多个结果,一个输入 id 的值

标签: json Linq XML C#
发布时间: 2017/2/28 18:57:03
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我一直在关注本教程︰ http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api来创建我的 API 和它背后的逻辑是差不多。

在时刻 /api/products 获取所有的产品和 GetProduct /api/products/id,只有 1 个产品基于 id 的获取。

现在我的问题是,我想要所有的产品,例如 id 1 这是准备只是一种产品所使用的代码︰

public IHttpActionResult GetProduct(int id)
{
    var product = products.FirstOrDefault((p) => p.Id == id);
    if (product == null) {
        return NotFound();
    }
    return Ok(product);
}

解决方法 1:

从你的问题我理解您需要的所有产品 id 都等于 id 参数。

不清楚您的 Ok() 方法做什么,所以我会离开它。 你可能想要将其删除或更新它。 此外 GetProduct 顾名思义奇异的结果,所以你可能想要的方法名称复数。

此代码示例获取与给定的 id 参数的所有产品的列表︰

public IHttpActionResult GetProduct(int id)
{
    var product = products.Where(p => p.Id == id).ToList();
    if (product == null) {
        return NotFound();
    }
    return Ok(product);
}
赞助商