C# ASP.NET WebAPI 中的参数绑定是什么?

2023年 9月 13日 37.7k 0

C# ASP.NET WebAPI 中的参数绑定是什么?

绑定是Web API调用控制器时设置参数值的过程
操作方法。

具有不同类型参数的 Web API 方法以及如何自定义
绑定过程。

如果参数是 int、bool、double 等简单类型,Web API 会尝试从 URI 获取值(从路由数据或从查询字符串)

如果参数是复杂类型,如 Customer、Employee 等,则 Web API
框架尝试从请求主体中获取值。

我们可以使用以下方法更改参数绑定过程的默认行为
[FromBody] 和 [FromUri] 属性。

FromUri -

如果参数是简单类型,则 Web Api 会尝试从URI

.NET 基本类型,如 double、DateTime、GUID 字符串,任何可以使用的类型
从 String 类型转换

示例

public Student Get(int id){}

登录后复制

FromBody

​​>

如果参数类型为Complex类型,那么Web Api会尝试绑定来自的值
消息正文。

示例

Public Student Post(Employee employee){}

登录后复制

[FromUri]

要强制 Web API 从 URI 读取复杂类型,请添加 [FromUri] 属性
到参数

使用[FromUri]属性强制Web Api从以下位置获取Complex类型的值
查询字符串。

示例

public Student Get([FromUri] Employee employee)
public HttpResponseMessage Get([FromUri] Employee employee) { ... }

登录后复制

[FromBody]

使用[FromBody]属性从请求体中获取Primitive类型的值,
与默认值相反

不,单个操作中不允许使用多个 FormBody。

要强制 Web API 从请求正文中读取简单类型,请添加 [FromBody]

在此示例中,Web API 将使用媒体类型格式化程序来读取 name 的值
来自请求正文

示例

public Student Post([FromBody] string name]){...}
public HttpResponseMessage Post([FromBody] string name) { ... }

登录后复制

以上就是C# ASP.NET WebAPI 中的参数绑定是什么?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论