[英]Why we need IEnumerable<string> before get method?
我刚刚开始使用 web API 学习 ASP.NET。我从 visual studio 创建了一个新项目并试图了解 MVC 文件夹结构和 API 调用。
在这里我想知道的是:为什么我们在get
方法之前需要IEnumerable<string>
。
在我的ValuesController.cs
中,
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
根据Microsoft 文档,这会公开枚举器,它支持对指定类型的集合进行简单迭代,但想想如果我的数据库中有一个 integer,我是否也需要将其转换为字符串?
IEnumerable<string>
是Get()
操作方法的返回类型。 如果您的 api 返回任何值,那么您需要将该类型作为函数的返回类型
如果我的数据库中有一个整数,是否还需要将其转换为字符串?
int
,喜欢,
//+ Access Modifier
//| + Return Type
//| | + Function name
public int Get()
{
return 200; //status code for Ok.
}
关于IEnumerable<>
:
如果您有多个整数并希望返回这些整数的集合,请使用IEnumerable<int>
从 MSDN 文档IEnumerable Interface
:
公开一个枚举器,它支持对非泛型集合的简单迭代。
此外,您可以使用string
值返回IHttpActionResult
:
public IHttpActionResult Get()
{
var model = new string[] { "value1", "value2" };
return Ok(model);
}
或使用int
值:
public IHttpActionResult Get()
{
var model = new int[] { 1, 2, 3 };
return Ok(model);
}
IHttpActionResult
允许您返回 HTTP 状态等。 以下是使用 IHttpActionResult 接口的一些优点:
如果您的 GET 端点应返回数字集合而不是单个数字,那么您肯定需要返回某种列表,无论是 IEnumerable 还是 List 或其他。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.