总结
具体类型
如果在执行动作期间没有已知的防范条件,则返回特定类型就足够了。上述操作不接受任何参数,因此不需要参数约束验证。
IActionResult类型
当一个动作中有多个ActionResult返回类型时,IActionResult返回类型是合适的。这些类型代表各种HTTP状态代码。属于此类别的一些常见返回类型是BadRequestResult(400),NotFoundResult(404)和OkObjectResult(200)。
ActionResult <T>类型
大多数操作都有特定的返回类型。在操作执行期间可能发生意外情况,在这种情况下不返回特定类型。例如,操作的输入参数可能无法通过模型验证。在这种情况下,通常返回适当的
ActionResult
类型而不是特定类型。
https://www.cnblogs.com/ZaraNet/p/10142466.html
总结
- 大部分时候Action的返回值可以使用ActionResult/IActionResult
- 设计restful api的时候可以直接使用POCO类作为返回值
- 如果要设计既支持POCO类返回值或者ActionResult类为返回值的action可以使用ActionResult< T >作为返回值
- ActionResult< T >之所以能够支持两种类型的返回值类型,是因为使用了implicit operator内置了2个隐式转换的方法
- POCO(ActionResult)
ASP.NET Core中的Action的返回值类型 - 知乎
C# record
它提供了用于封装数据的内置功能
可以轻松处理不可变和强类型的数据。
默认情况下,记录是不可变的。这意味着一旦创建,您就无法改变(或更改)它们的属性值。
记录内置支持基于值的相等性检查,这意味着具有相同值的两个记录相等。
记录提供默认格式,可以通过重写该ToString()
方法来自定义格式。
使用with
表达式复制记录并使用对象初始person
值设定项语法更改FirstName
和Age
属性以指定要更改的值。
优秀网站:C# Record