ASP.NET Core为Web API控制器动作方法返回类型提供了如下几个选择:
这篇文章解释了什么时候最适合使用各个类型。
指定类型(Specific type)
最简单的API会返回原生的或者复杂的数据类型(比如,string 或者自定义对象类型)。考虑如下的Action方法,其返回了一个自定义的Product对象的集合。
[HttpGet] public List<Product> Get() => _repository.GetProducts();
在程序的执行过程中,如果没有可知的条件来破坏安全,便可以返回一个特定的类型。前面的Action方法没有接收任何参数,因此不需要任何参数约束验证。
当有可能具有多个返回类型时,通常的做法是将一个ActionResult 返回类型与原生的或者复杂的返回类型混合起来。IActionResult 或者 ActionResult<T> 都可以搭配这种类型的Action。
这篇文章也会提供多个返回类型的几个示例。