ASP.NET Web API参数与模型绑定
目录
背景
例子
兴趣点
ASP.NET提供了将值发送到控制器上的方法的能力。这称为绑定。绑定的两种主要类型是参数和模型。本文是关于使用这两种类型的绑定的快速回顾。
背景
ASP.NET WebAPI遵循这些默认的绑定规则:
- 如果参数是原始类型,例如整数、字符串或布尔值,它将首先尝试使用参数绑定,而没有任何其他指令。
- 在没有任何其他指令的情况下,复杂类型将默认从请求正文中读取值。
- 复杂类型可以在方法参数中使用带有正确指令的参数绑定。
ASP.NET WebAPI支持两种不同的指令来指示数据应该从哪里绑定:
- [FromUri]——该指令告诉方法可以在请求URL中找到数据。
- [FromBody]——该指令告诉方法可以在请求正文中找到数据。
例子
下面是不同类型绑定的两个简单示例,第一个来自URI,第二个来自请求正文:
public ProductController : ApiController
{[HttpGet][Route("Product/{id}")]public HttpResponseMessage GetProductById([FromUri] int productId ){// Code here for the controller method}
}
该Request URL看起来类似于https://localhost/api/product/100。
public ProductController : ApiController
{[HttpPost][Route("Product")public HttpResponseMessage AddProduct([FromBody] Product newProduct ){// Code here for the controller method}
}
该Request在使用postman的时候是这样的。
兴趣点
一般情况下,不严格来讲,用于Put和Post的HTTP谓词在请求的主体中使用模式,因为他们要么创建或更新资源,有时可能需要一个较大的模型,而在 URI中这个模型很笨重。
HttpGet和Delete动词通常将使用URI,一般来说,它们检索或删除通常可以由URI中的id标识的资源。
https://www.codeproject.com/Tips/1268090/ASP-NET-Web-API-Parameter-vs-Model-Binding
ASP.NET Web API参数与模型绑定相关推荐
- ASP.NET Web API Model-ModelBinder
ASP.NET Web API Model-ModelBinder 前言 本篇中会为大家介绍在ASP.NET Web API中ModelBinder的绑定原理以及涉及到的一些对象模型,还有简单的Mod ...
- ASP.NET Web API中的参数绑定总结
ASP.NET Web API中的action参数类型可以分为简单类型和复杂类型. HttpResponseMessage Put(int id, Product item) id是int类型,是简单 ...
- .NET Core WEB API中接口参数的模型绑定的理解
在.NET Core WEB API中参数的模型绑定方式有以下表格中的几种: 微软官方文档说明地址:https://docs.microsoft.com/zh-cn/aspnet/core/web-a ...
- ASP.NET Web API 特性
ASP.NET MVC 4 包含了 ASP.NET Web API, 这是一个创建可以连接包括浏览器.移动设备等多种客户端的 Http 服务的新框架, ASP.NET Web API 也是构建 RES ...
- ASP.net Web API综合示例
目录 概述 功能介绍 程序结构 服务器端介绍 客户端介绍 "契约" Web API设计规则 并行写入冲突与时间戳 身份验证详解 Web API验证规则 客户端MVVM简介 Web. ...
- ASP.NET Web API 简介
本周早些时候,我写过一篇关于 ASP. NET MVC 4 测试版的博文.ASP. NET MVC 4 是一个重大的更新,它带来了一堆出色的新功能.我最兴奋的改进之一是为创建"Web ApI ...
- ASP.NET Core:从ASP.NET Web API迁移的多层数据服务应用程序
目录 介绍 设置和运行示例应用程序 类库项目 依赖注入 访问应用程序设置 实体框架核心相关更改 主键标识插入问题 数据上下文和连接字符串 自定义存储库(Repositories) LINQ表达式翻新( ...
- 使用ASP.NET Web API构建Restful API
目录 介绍 这种方法有什么好处? Restful约定 构建API 测试API 一点困惑: 最佳实践: 数据传输对象(DTO) Automapper IHttpActionResult 使用Web AP ...
- ASP NET Web API 2框架揭秘
ASP.NET Web API2框架揭秘(.NET领域再现力作顶级专家精讲微软全新轻量级通信平台) 蒋金楠 著 ISBN 978-7-121-23536-8 2014年7月出版 定价:108.00 ...
最新文章
- 用S60操作系统SDK开发NOKIA手机应用程序(4)- 界面层框架及一些特性
- python壁纸4k_【python日常学习】爬取4K桌面壁纸
- android 读取json数据(遍历JSONObject和JSONArray)
- PHP中添加HTML代码的三种方法(printEND)
- python获得命令行参数的方法
- 1_boostrap概述
- 0基础可以学Web前端吗?如何快速掌握前端开发技能?
- Mybatis-plus实现动态表名查询
- linux命令笔记之ls
- 100页ppt讲清楚云原生
- IDEA类注释模板设置
- lg5.6不用计算机怎么算,lg换算(lg如何计算)
- AttributeError: module ‘dask‘ has no attribute ‘delayed‘问题
- 斯坦福大学开发PETE装置吸收60%的太阳能
- 使用极狐GitLab CI/CD部署应用到Kubernetes集群的方案
- python yaml dump_使用Python处理yaml格式的数据简单到爆!
- CentOS 7下ngrok服务器搭建
- bzoj 4455: [Zjoi2016]小星星
- 支付业务与技术架构学习总结(12)——支付风控相关知识小结
- 心理账户:一个重要的影响你财富的因素
热门文章
- php返回成功信息msg_使用PHP实现的服务端socket
- python123手机版math库-python学习笔记---math,random,operator(三)
- easyui datagrid 获得共多少条记录_聊城市优化简化获得电力流程做法在全省供电系统推广...
- 若某计算机字长为16位,题目来源于王道论坛 某计算机字长为16位,主存地址空间...
- php中ajax用法,thinkphp中使用ajax
- android 多媒体文件信息,Android如何获取多媒体文件信息
- python装饰器怎么调用_Python学习22-外部程序的调用装饰器
- 呼叫 :邓伦粉丝!手机桌面壁纸来喽
- 设计灵感|怎么设计渐变海报更有趣味性?
- 这样的家居选购界面让你忍不住剁手的冲动!