知识大全 WebAPI下的如何实现参数绑定

Posted 内容

篇首语:吾生也有涯,而知也无涯。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 WebAPI下的如何实现参数绑定相关的知识,希望对你有一定的参考价值。

WebAPI下的如何实现参数绑定  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  本文将概述在WebAPI方式下将如何将参数绑定到一个action方法 包括参数是如何被读取 一系列规则决定特定环境采用的那种绑定方式 文章最后将给出一些实际的例子

  Parameter binding说到底是接到一个Http请求 将其转换成 NET类型使得action方法的签名更易于理解

  请求消息(request message)包括了请求的所有信息 如带查询字符串的请求地址(URL) 内容主体(content body)及头部信息(header) 在没有采用parameter binding

  的情况下 每个action方法将需要接收request message 并手动从中提取出参数 如下所示

  public object MyAction(HttpRequestMessage request) // make explicit calls to get parameters from the request object int id = int Parse(request RequestUri ParseQueryString() Get( id )); // need error logic! Customer c = request Content ReadAsAsync () Result; // should be async! // Now use id and customer

  很显然 这样的方式丑陋 易出错 代码重复 而且难以单元测试 我们希望action的签名类似以下的形式

  public object MyAction(int id Customer c)

  那么WebAPI是如何将request message转换成像id和customer这样的参数的呢?

  Model Binding vs Formatters

  参数绑定有两种技术 Model Binding和Formatters 实际上 WebAPI使用model binding读取查询字符串(query string)内容进行参数绑定 使用Formatters读取主体内容

  (body content)进行参数的绑定

  Using Model Binding:

  ModelBinding和MVC中的此概念是一致的 更多内容见Here 通常有一个 ValuePeoviders 提供数据片断如查询字符串参数 model binder将这些片断组合成一个对象

  Using Formatters

  Formatters(如MediaTypeFormatter类所示)实际上是包含额外元数据的序列化程序 WebAPI从HttpConfiguration中获取一个formatters的列表 然后通过request信息

  中的content type来判断采用具体合适的formatter WebAPI有不少默认的formatters 默认的JSON formatter是JSON NET 还有Xml formatter和采用JQuery语法的

  FormUrl formatter

  其中Formatters的核心方法是MediaTypeFormatter ReadFromStreamAsync 如下所示

cha138/Article/program/net/201311/12750

相关参考

知识大全 SQL Server参数化查询大数据下的实践

SQLServer参数化查询大数据下的实践  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  身为一

知识大全 绑定变量的获取

  对于带有绑定变量的SQL语句ORACLE在第一次执行的时候将会进行绑定变量的PEEK是否PEEK是否隐含参数_OPTIM_PEEK_USER_BINDS控制默认为TRUEORACLE在第一次  P

变频器在高温下的注意事项有哪些?

  1、认真监视并记录变频器人机界面上的各显示参数,发现异常应即时反映。  2、认真监视并记录变频室的环境温度,环境温度应在-5℃~40℃之间。移相变压器的温升不能超过130℃。  3、夏季温度较高时

变频器在高温下的注意事项有哪些?

  1、认真监视并记录变频器人机界面上的各显示参数,发现异常应即时反映。  2、认真监视并记录变频室的环境温度,环境温度应在-5℃~40℃之间。移相变压器的温升不能超过130℃。  3、夏季温度较高时

利用节流装置测量蒸汽流量为什么要进行密度自动补偿?

  标准节流装置是根据额定工况下的被测介质参数设计的,只有在额定工况下,才可将密度等参数作为常数看待,流量和差压才有确定的对应关系,即qm=,这时差压式流量计测量才能准确。而在实际生产过程中,蒸汽参数

利用节流装置测量蒸汽流量为什么要进行密度自动补偿?

  标准节流装置是根据额定工况下的被测介质参数设计的,只有在额定工况下,才可将密度等参数作为常数看待,流量和差压才有确定的对应关系,即qm=,这时差压式流量计测量才能准确。而在实际生产过程中,蒸汽参数

知识大全 深圳社保夫妻医疗绑定,如果一方没有买社保,能绑定吗

深圳社保夫妻医疗绑定,如果一方没有买社保,能绑定吗?绑定是指社保卡绑定在指定医院,以后门诊只能在绑定医院使用.你说的夫妻绑定,应该是关联吧!同一家庭成员的社保卡是可以关联的.关联需满足以下条件:1、参

知识大全 WPF数据绑定之绑定声明

WPF数据绑定之绑定声明  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本主题讨论声明绑定的不同

知识大全 js中的前绑定和后绑定

  其主要意思就是看我有没有用过前绑定即Dom树中的某些元素在还没有创建出来时就指定该类型的元素一出生就应该拥有的某些事件在实际开发过程中经常会涉及到前绑定和后绑定顾名思义前绑定——还未出生即绑定了某

知识大全 一个手机号码可以绑定几次淘宝,解绑过后还可以在绑定吗

一个手机号码可以绑定几次淘宝,解绑过后还可以在绑定吗?一个手机号对应一个淘宝号,解除绑定后,还可以再次绑定的哈手机号码取消淘宝绑定后还可以绑定其他淘宝号么?可以的,你重新操作,或是换号码试试,我的情况