gpt4 book ai didi

asp.net-web-api - 为什么我们必须指定FromBody 和FromUri?

转载 作者:行者123 更新时间:2023-12-03 04:24:05 26 4
gpt4 key购买 nike

为什么 ASP.NET Web API 中需要 FromBodyFromUri 属性`?

使用属性和不使用属性有什么区别?

最佳答案

当 ASP.NET Web API 调用 Controller 上的方法时,它必须设置参数的值,这个过程称为参数绑定(bind)。

默认情况下,Web API 使用以下规则绑定(bind)参数:

  • 如果参数是“简单”类型,Web API 会尝试从 URI 获取值。简单类型包括 .NET 基元类型(int、bool、double 等),加上 TimeSpan、DateTime、Guid、decimal 和 string,以及带有可以从字符串转换的类型转换器的任何类型。

  • 对于复杂类型,Web API 尝试使用媒体类型格式化程序从消息正文中读取值

因此,如果您想覆盖上述默认行为并强制 Web API 从 URI 读取复杂类型,请将 [FromUri] 属性添加到参数中。要强制 Web API 从请求正文中读取简单类型,请将 [FromBody] 属性添加到参数。

因此,为了回答您的问题,Web API 中的 [FromBody][FromUri] 属性的需要只是覆盖(如有必要)默认行为如上所述。请注意,您可以将这两个属性用于 Controller 方法,但只能用于不同的参数,如 here 所示。 .

a lot more information如果您在网络上搜索“网络 API 参数绑定(bind)”。

关于asp.net-web-api - 为什么我们必须指定FromBody 和FromUri?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24625303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com