ApiCloud:[3]访问自己的服务器数据

如果mcm和REST API不能满足你的数据存取要求,那你可以使用自己的服务器和数据库,缺点是麻烦、多花时间和精力,优点是灵活、自由,不用多花时间学习。这里使用自己的数据库,以ms sql为例,并以asp.net mvc网站提供api服务,仅作参考。

方法/步骤

1 一个总体流程,apicloud通过ajax去向自己的数据库(网站)发出请求,网站进行身份验证,然后响应请求,返回数据,在apicloud使用js对响应的数据进行处理。

2 使用ajax发起一个数据请求,这边使用的是jquery的ajax方法,所以你需要引用jquery插件,主要的地方是url,method,headers,data,success,接下来会一一解释

3 关于url,可以配置你自己的url,但是为了调试方便,你可以自己写个开关,等上线的时候再切换

4 关于method,最好全部设置成post,因为如果是get的话,那$.ajax在一些浏览器如火狐内核的情况下,设置headers信息会丢失

5 关于headers,就是为了验证身份额外设立的,基本原理是app和你的网站约定好一个秘密字符,然后通过sha1加密后附加在请求头部从app传递,到达网站时,提取相应信息进行验证,如果正确则正常响应数据,否则给出出错提示;算法getAppKeyInSha1(),需要引用jquery.sha1.js,这是个加密的插件

6 ajax请求附加头部headers时,需要在网站中加以设定,不然这个自定义头部是非法的

7 然后创建一个filter,用来进行每次响应前的验证

8  创建一个Area,名称为Api

9 然后创建controller,响应请求,返回数据

本文内容整理自网络, 文中所有观点看法不代表淘大白的立场