
绑定是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 中的参数绑定是什么?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1435405.html
微信扫一扫
支付宝扫一扫