2控制器操作返回值 类型 说明 void 操作返回值为void时,Web API返回空HTTP响应,其状态码为204(无内容) HttpResponseMessage Web api会将此返回值直接转换为...HTTP消息 IHttpActionResult 接口形式 内置类型或自定义类型 无 2.1返回值为HttpResponseMessage 返回值为此类型时,有两种设置方式。...当控制器操作返回此类型时,Web API会调用ExecuteAsync方法创建类型为HttpResponseMessage的实例,然后将这个实例转换为HTTP消息。...System.Web.Http.ApiController提供了几个方法返回值类型都继承自IHttpActionResult 仅举几个常用的方法: protected internal JsonResult...2.3返回值为内置类型或自定义类型 返回值为内置类型或自定义类型时,Web API使用格式化器序列化返回值,并将其写入HTTP消息中,响应的状态码为200。
DefaultHttpControllerSelector查找控制器(controller)的算法为: 在路由词典中查找键为“controller”的值,找到键“controller”对应的值后,将字符串...根据获得的控制器(Controller)名查找Web API中的控制器(controller)。如果没有查找到控制器(controller)名或者匹配到了多个,那么返回错误。...Web API框架认为控制器(controller)的操作(Action)具有如下特征: 1)公有类型的实例方法。...l 对于每一个操作(Action),获得简单类型的参数列表,参数绑定从URI获得操作(Action)参数,不包括可选的参数。.../localhost:45778/api/v2/publication时,显示"api/v2/publication" 由于上述操作定义在同一个控制器(Controller)类中,所以方法名不能相同。
ASP.NET WebAPI 中的参数绑定 当 WebAPI 调用 Controller 上的方法时, 必须为其参数赋值, 这个过程就是参数绑定。...提供了类型转换器 (Type Converter), 能够从字符串转换的类型。...比如一个典型的 WebAPI 方法: IHttpActionResult Put(int id, Product item) { ... } 参数 id 是一个简单类型, 所以从 request URI...使用 Type Converter 通过创建 Type Converter , 实现从字符串转换的方法, 可以让 WebAPI 将复杂类型参数视为简单类型参数。...API 将组合所有的 ValueProviderFactory , 当一个 model binder 调用 ValueProvider.GetValue 方法时, 将会收到第一个能够提供对应值的 ValueProviderFactory
我们在学习ASP.NET Web API时,需要对HTTP协议、web知识有一个比较深入的认识,这样在学习ASP.NET Web API时会比较快速的上手和应用。...二.WebApi路由机制的简要概述: 对于ASP.NET Web API路由的介绍会比较简单,因为对于熟悉asp.net mvc的人来说不是什么难事,而且本次博文的重点并不是在这里,所以在这里只会做一个简单的介绍...还可以使用MVC样式路由的WebAPI。 在ASP.NET Web API中,一个控制器是处理HTTP请求的类。控制器的公共方法被称为动作方法或简单的动作。...当Web API框架接收到一个请求,它请求路由到一个动作。要确定调用哪个动作,框架使用的路由表。...API 的 URL; User:返回与此请求关联的当前主体; 2.方法摘要: ExecuteAsync(): 异步执行单个 HTTP 操作,该方法为虚方法
那么,我们今天基于楼上的东西,来简单地创建一些API,这里为了能够体现简单,我们不要求操作数据库了,也不搞Token了,返回格式也不作严格的要求,就搞下POST和GET ,就是意思下,后面的域名地址我就用...内容 说明 接口地址 {ataolaAPI}/api/values 返回格式 JSON 请求方式 POST 请求示例 {ataolaAPI}/api/values 这里的返回参数和请求参数就简单的以一张用户表为例...继承了ApiContoller,所以这里它对应的请求格式就是你项目的地址加上“/api/values”这个样子,以“春娇”与“志明”为例,访问该路径的Get请求的实现方法如下,返回了一个string类型的数组...} 第三步:通过GET请求接口,返回JSON格式的示例 这里的话,以一言的API为例,一言就是一句话的意思。...至此我们解决关于c#创建Web项目的API返回的部分问题,最后梳理成脑图就是这个样子,后续,我们一步步把这张脑图完善起来。 ?
默认赋值 Web API会对客户端未指定的模型属性赋初值。对于int,double等数值类型默认的初值为0,对于字符串或引用类型默认的初值是null。...默认的绑定规则 1)如果操作(Action)参数是简单类型,Web API框架会从URI中获取值。...这里从URI获取值具体指:从路由词典中获取值或者从URI的查询字符串中获取值。具体过程见介绍路由那篇博文。 2)对于复杂类型,Web API会使用多媒体格式化器从消息体中获得值。...这样即使操作(Action)参数是简单类型,框架也会从消息体中取值来为参数赋值。当使用FromBody特性时,Web API使用请求的Content-Type标头来选择格式化器。...如果操作(Action)参数是简单类型,Web API框架会从URI中获取值。
前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html。 ...Key] public string Key { get; set; } public string Name { get; set; } } } 这个类使用了一个字符串类型的实体键...当它从请求的URL中解析键时,这个属性将会告诉Web API去使用Odata语法规则。 Creating and Deleting Links OData支持创建和删除两个实体之间的关系。...接下来的辅助方法将会展示如何处理它。这个方法调用Web API路由过程,返回一个OData实体,展现被转换的OData路径。对于一个链接URI,这个片段数中应该有一个实体键。...总结 本文所参考链接为http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/working-with-entity-relations
保存客户端传过来的数据,如果验证不通过,把数据返回到客户端,这样可以保存用户输入,不需要重新输入。 2. 验证数据,以及保存数据对应的错误信息。 3....但是在Web API里面,ModelState的主要功能就只剩下第2点了。 需要注意的是,ModelState一般只做输入验证,一些其他的业务验证还有要在特定的地方进行处理。...当属性类型是string的时候,如果设置了AllowEmptyStrings = false(默认为false),那么输入空字符串或者空格,也会引发一个验证错误。...当输入内容不满足指定的正则表达式时,会引发一个验证错误。 ...Range - 值范围验证 当输入的值小于最小值或者大于最大值时,会引发一个验证错误,这里要求验证字段的类型需要实现IComparable接口。
否则设置为 true(即使 value 参数是字符串 "false")。 2.Number Ø Number对象描述 在 js中,数字是一种基本的数据类型。...当不用 new 运算符调用 String() 时,它只把 s 转换成原始的字符串,并返回转换后的值。...当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这些值。它的 length 字段也会被设置为参数的个数。 Ø 返回值 返回新创建并被初始化了的数组。...当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数、元素为 undefined 的数组。 当其他参数调用 Array() 时,该构造函数将用参数指定的值初始化数组。...注意:参数如果是函数的,两种写法, 1.直接写函数名,不带括弧,例如setInterval(show,1000); 2.用引号引起来函数名加扩花,例如setInterval(“show()”,1000)
三、字符串类型string 字符串使用,可单引号也可双引号,都是表示一个字符串。...= '单引号字符串'let doubleQuotes = "双引号字符串"//不带默认值let singleQuotes: stringlet doubleQuotes: string成员声明//带默认值...= "双引号字符串"//不带默认值singleQuotes: stringdoubleQuotes: string其他使用方式跟number类型基本一致。..., 还可以用来作为函数的返回值,当函数没有需要返回的值时,可以使用 return null,表示函数的返回值为空。...null和undefined进行比较1、null 表示对象为空,而 undefined 表示缺少值。2、声明变量但未赋值时,变量的值为 undefined,当需要表示空值时,可以使用 null。
/1.1 200 OK Content-Length: 95267 Content-Type: image/png 多媒体类型为Web Api指明了如何序列化与反序列化HTTP消息体。...JSON和XML的序列化 Web API多媒体类型格式化器可以从HTTP消息体中读取CLR对象或将CLR对象写入消息体。...编码和解码是高效的,因为数值数据类型被存储为数字,而不是字符串。...启用BSON格式化器 设置支持BSON,当客户端请求的Content-Type为application/bson时,Web API会使用BSON格式化器。...序列化 如果Web API的控制器操作(Action)返回CLR类型,管道序列化返回值并将其写入HTTP响应消息体。
在 ASP.NET WebAPI 中使用 DataAnnotations 验证数据 为了 Web 服务的安全, 通常在服务端也会做数据验证, 不过数据验证的代码确实是有点儿枯燥, 以简单的用户注册来说,...验证的要求如下: 用户名必填; 密码必填; 确认密码必填; 确认密码必须和密码一致; 虽然示例是简单的, 但是验证的规则并不简单, 如果手写验证代码的话, 则对应的服务端验证代码如下: [RoutePrefix...("api/account")] public class AccountController : ApiController { [HttpPost] public IHttpActionResult...上面的验证代码确实有点儿多, 而且很枯燥, 不过在 ASP.NET WebAPI 中, 可以使用 DataAnnotations 来简化数据验证, 稍微修改一下上面的 RegisterModel , 为要验证的字段添加验证标记...("api/account")] public class AccountController : ApiController { [HttpPost] public IHttpActionResult
加载百度编译器编辑的HTML文本 ******** 使用UIWebView 加载 HTML图文文本 ********* //self.newsM.content为网络返回的原始图文信息。...根据导航类型参数可以得到请求发起的原因 //当网页视图被指示载入内容而得到通知应该返回是,这样会进行加载通过导航类型参数可以得到请求发起的原因,可以是以下任意值: - (BOOL)webView:(UIWebView...在 OC中调用JS方法 与UIWebView进行交互,调用web页面中的需要传参的函数时,参数需要带单引号,或者双引号(双引号需要进行转义在转义字符前加\),在传递json字符串时不需要加单引号或双引号...:@"document.documentElement.textContent"];//获取web页面内容信息,此处获取的是个json字符串 SBJsonParser *parserJson=[[[SBJsonParser...UIWebView在 iOS11中的使用。 ? UIWebView 在iOS 11上 当顶部的 y值设为 0 时,是依然无法盖住UIStatusBar区域的,但是滚动时就会出现问题了。
使用 AngularJS 的 $resource 连接 WebAPI Controller ASP.NET Web API 是 .NET 平台创建 REST 风格的 HTTP 服务的理想框架, REST...接下来就介绍如何使用 AngularJS 的 $resource 对接 ASP.NET Web API 创建的 REST 服务。..., 可以设置默认值为: { username: 'anonymous' } , 则默认会生成下面的 URL: /user/anonymous; 如果参数的默认值是函数, 在请求时会执行函数以求得默认值...;如果参数值是以 @ 开头的, 则表示要从请求发送的 json 对象中提取对应的属性值, 比如参数默认值为 { username: '@username' }, 则会讲发送对象的 username 属性填充到.../ 移除; $resource 返回的对象默认支持下列动作: { 'get': {method:'GET'}, 'save': {method:'POST'}, 'query':
通过名称加载扩展 扩展文件不再需要通过文件加载 (Unix下以.so为文件扩展名,在Windows下以 .dll 为文件扩展名) 进行指定。...可以在php.ini配置文件进行启用 ; ini file extension=php-ast zend_extension=opcache 3.允许重写抽象方法 当一个抽象类继承于另外一个抽象类的时候...使用Argon2算法生成密码散列 Argon2 已经被加入到密码散列(password hashing) API (这些函数以 password_ 开头), 以下是暴露出来的常量 5....新增 PDO 字符串扩展类型 当你准备支持多语言字符集,PDO的字符串类型已经扩展支持国际化的字符集。...不带引号的字符串 在之前不带引号的字符串是不存在的全局常量,转化成他们自身的字符串。现在将会产生waring。 var_dump(HEELLO); 6.
) } } 2错误的做法 public class AvaterController : BaseApiController { [HttpPost] public IHttpActionResult...,调试服务端代码,当执行到task.Wait();这行语句时,客户端一直等待,直到客户端调用超时,永远也无法返回调用结果,发生了死锁!!!...这个方法有几个重载的方法,其中一个是不显示设置缓冲区大小,那么缓冲区大小为默认的。 4 对第二种方法的错误点分析: 看Web api dll源码中的设置: ?...上面的方法,循环读取请求数据,当设置的缓冲区大小小于客户端发送到服务器的数据量时,要执行多次循环读取数据,每次循环读取数据都是调用两个异步方法: ? ?...然而,ReadAsMultipartAsync方法的返回值是Task(T为 streamProvider),所以当调用Task.Wait()方法等待的时候,ReadAsMultipartAsync
JavaScript的数据类型分为俩种,一种是基本数据类型,一种是引用数据类型 基本数据类型包括: Number – – (数字) String – – (字符串) Boolean – –...Number: 数字(数字可以带小数点也可以不带)、NaN、Infinity String: 字符串可以是引号中的任意文本。...比如说判断1>2是不是对的,是对的就返回true,是错的就返回false,然后我们就可以根据返回的结果去做俩种不同的操作。 Undefined: 取undefined一个值。...var arr = new Array(size);//size为数字参数,表示创建数组时先预定size个空间。...实际参数(实参):函数调用时的参数 返回值(相当于是函数的输出): return 表达式; 函数返回值是返回到函数调用处 基本数据类型和引用数据类型的区别: 基本数据类型的值是存放在栈中。
提供多种操作方式: 客户端命令行方式 HTTP API接口 各语言API库 基于WEB管理页面操作 安装 准备 安装InfluxDB包需要root或是有管理员权限才可以。...=[,=...]...在WHERE子句中单引号来表示字符串字段值。具有无引号字符串字段值或双引号字符串字段值的查询将不会返回任何数据,并且在大多数情况下也不会返回错误。 支持的操作符: = 等于 不等于 !...具有未用单引号的tag或双引号的tag查询将不会返回任何数据,并且在大多数情况下不会返回错误。 支持的操作符: = 等于 不等于 !...KEYS # 返回数据库中指定tag key的tag value列表 SHOW TAG VALUES # 返回field key以及其field value的数据类型 SHOW FIELD KEYS
当调用 output_callback 时,它将收到输出缓冲区的内容作为参数 并预期返回一个新的输出缓冲区作为结果,这个新返回的输出缓冲区内容将被送到浏览器。...提示 输出缓冲区是可堆叠的,这即意谓着,当有一个 ob_start() 是活跃的时, 你可以调用另一个 ob_start() 。...开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。...当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。...一旦不再需要产生更多的值,生成器可以简单退出,而调用生成器的代码还可以继续执行,就像一个数组已经被遍历完了。 2.yield关键字 生成器函数的核心是yield关键字。
字符串,可由一对单引号或双引号表示 userdata 表示任意存储在变量中的 C 数据结构 function 由C 或 lua 编写的函数 thread 表示执行的独立线程,用于执行协同程序 table...在Lua里 table 的创建是通过构造表达式来完成,最简单构造表达式是{},用来创建一个空表。 2 获取数据类型 通过函数 type 可以返回一个值或一个变量所属的数据类型。...2.2 boolean 布尔类型,取值只有 true 和 false。 lua 中,当变量为 nil 或 false 时,其布尔值为 false,其他数值均为 true。...) print(s3) 其中在单引号、双引号定义的字符串,如果存在转义符时,会对其转义输出; 而由 [[]] 包裹的字符串,不会对转义字符进行转义,仅将其原样输出。...local c = foo() print(c) 将函数赋值给变量时,函数名后不带()和带有()在引用变量时会有区别: 赋值时不带(),在使用变量时就需要在变量名后补充() 赋值时带有(),在使用变量时就不需要在变量名后再补充
领取专属 10元无门槛券
手把手带您无忧上云