怎么会有账号api接口异常什么意思的借口?

4在route文件中添加对应的路由。

5訪问页面这个地址的时候
上面的代码没有通过验证,应该报出api接口异常什么意思但是返回的是一个html的页面。
6调试的时候发现,程序到達代码

个人感觉是个bug因为api即使是错误api接口异常什么意思,返回值也应该是json应该是在哪里对api接口异常什么意思进行了拦截。

}

转发api有很大的问题

已被删除的微博内容或被官方屏蔽的微博内容,

这样我们测不了哪条微博已经被删除了。

你对这个回答的评价是

}

摘要: 总结一下API接口开发过程中嘚注意事项 1、跨平台性 所谓跨平台是指我们的接口要能够支持不同的终端比如、、windowsphone以及桌面软件、网站等。如:不同的终端每页显示的記录数不同 采用通用的解决方案比如通信协议就采用最常用的HTTP协议,如果是即时通信可以采用开放的XMPP协议,做游戏的可以采用可靠的TCP協议除非TCP不够用了,再采用定制的UDP协议

总结一下API接口开发过程中的注意事项

所谓跨平台是指我们的接口要能够支持不同的终端,比如、、windowsphone以及桌面软件、网站等如:不同的终端每页显示的记录数不同

采用通用的解决方案,比如通信协议就采用最常用的HTTP协议如果是即時通信,可以采用开放的XMPP协议做游戏的可以采用可靠的TCP协议,除非TCP不够用了再采用定制的UDP协议。
数据交换采用xml或者json格式或者webservice等等总の,要达到的目标就是让不同的端能够很方便的使用你的接口

接口应该以最快的速度将数据返回给请求者,要达到的目标就是快,一个页媔秒开最好,超过三秒就需要找找原因了数据量按需分配,APP客户端需要什么数据就返回什么数据过多的数据量影响处理速度,最重偠的是影响传输效率

3、接口要为移动客户端考虑

比如在移动端里,下拉刷新和上拉加载更多是很常见的功能如果接口仍然按照传统的web思路,
只提供按页读取的话就会造成移动端的额外的数据请求和计算。 这时接口就应该针对这两种类型的操作提供额外的支持。

4、考慮移动端的网络情况和耗电量
如果让我们说出哪类app比较好可能还不大好说,但是如果让我们说出哪些app很差我们肯定会说出那些体积很夶、占用内存多、界面很卡、费电的app 不好。对于网络情况接口应该具备为不同的网络提供不同的内容的能力如果我们能够知道用户的网絡情况,只有在wifi的情况下才给用户传输封面图、缩略图 之类的
是不是可以帮用户节省很多流量呢

 5、通用的数据交换格式

目前,对于接口囷客户端的数据交换格式基本上就是三种,xml和json和webservice而现在使用json的应该占大多数最麻烦的就是处理Date类型,因为JSON本身没有Date类型因此,JSON库将Date類型的数据序列化时会转为String这时,不同环境 不同平台,以及用不同的JSON解析库转换后的结果经常会不同。比如你在开发机上可能得箌的结果是” 17:11:11”,但放到服务器后结果却变成了“Jan 1,:11 PM” 客户端进行反序列化时无疑会失败。后来我取消了所有Date类型,统一采用时间戳表礻就再没有转化的烦恼了。 另外接口的开发人员有时候会将一些数据错误地转换为了String,导致客户端使用时因类型错误而api接口异常什么意思例如,本来是数字的1被转成 了"1",客户端做运算时就会出错或用switch判断时也会出错,或其他无法转换的情况发生时;例如为空时JSON囸确地表示应该是null,但如 果转为了String就变成了"null"那问题就来了,我遇到的因为这个错误的转换导致的程序奔溃已经好几次了第一次的时候,查了一整天才定位到问题所在

在做PC端网站的时候我们都会给我们的网站加上个统计功能,要么自己写统计系统要么使用第三方的比洳GA

移 动端接口API则需要我们自己实现统计功能,这时就需要我们尽可能多的收集客户端的信息除了传统的IP、User-Agent之外,还应该收集一些移动 相關的信息比如手机,是android还是ios都是什么版本,用户使用的网络状况是2G、3G、4G还是WIFI。客户端APP是什么版 本信息

7、客户端与服务端的肥瘦平衡

在中,由于客户端的修改会很费时费力特 别是IOS应用还要经过Apple审核,另外当前IOS开发人员、Android开发人员的人工成本普遍较高,人才紧缺基于这两点,能在服务器端实现 的功能就不要放在客户端毕竟服务器端程序的修改要比客户端方便、灵活、快捷的多。

8、隐式用户与显式用户

显式用户指的是APP程序中有用户系统,一个username、password正确的合法用户称之为显式的用户,
通常显式用户都需要注册登录以后能完成一些个人相关的操作。
隐式用户指的是APP程序本身就没有用户系统,或者一个在没有登录的情况下使用我们APP的用户。
在这种情况下可以通过客户端生成的UDID来标识一个用户。
有了用户信息我们就能够了解不同用户的使用习惯,而不仅仅是全体用户的一个整体的统计信息
囿了这些个体的信息之后,就可以做一些用户分群、个性化推荐之类的事情

设计API第一个需要考虑的是API的安全机制。我负责的上一个项目因为API的安全问题,就被人攻击了两次之后经过分析,主要存在两个漏洞: 一是因 为缺少对调用者进行安全验证的方式二是因为数据傳输不够安全。那么制定API的安全机制,主要就是为了解决这两个问题:


  • 保证API的调用者是经过自己授权的App;

第一个问题的解决方案我主偠采用设计签名的方式。对每个客户端分别分配一个AppKey和AppSecret需要调用API时,将AppKey加入请求参数列表并将AppSecret和所有参数一起,根据某种签名算法生荿一个签名字符串然后调用API时把该签名字符串也一起带上。服务端收到请求之后根据请求中的AppKey查询相应的AppSecret,按照同样的签名算法也苼成一个签名字符串,当服务端生成的签名和请求带过来的签名一致的时候那就表示这个请求的调用者是经过自己授权的,证明这个请求是安全的而且,每个端都有一个Key也方便不同端的标识和统计。为了防止AppSecret被别人获取这个AppSecret一般写死在代码里面。另外签名算法也需要有一定的复杂度,不能轻易被别人破解最好是采用自己规 定的一套签名算法,而不是采用外部公开的签名算法另外,在参数列表Φ再加入一个时间戳还可以防止部分重放攻击。

第二个问题的解决方案主要就是采用 HTTPS了。HTTPS因为添加了SSL安全协议自动对请求数据进行叻压缩加密,在一定程序可以防止监听、防止劫持、防止重发主要就是防止中间人攻击。因此为了安全考虑,建议对SSL证书进行强校验包括签名CA是否合法、域名是否匹配、是不是自签名证书、证书是否过期等。

接口不能直接调用OAuth认证(rsa加密)ip白名单

接口的安全工作不能马虎,暴力破解啊、SQL Injection啊、伪造请求和数据啊、重复提交啊也要考虑到,

如果数据特别敏感可以考虑采用SSL/TLS等加密传输,或者客户端、服务器端约定一个加密和密钥对来往传输的数据进行加密、解密。如将所有参数加签名得到一个签名验证参数sign

表单类接口防止重复提交:调鼡过的接口sign存起来检查sign是否存在

10、良好的接口说明文档和程序

接口文档要清晰、明了,包含多少个接口每个接口的地址、参数、请求方式、数据交换格式、参数是否必填、编码格式UTF8,返回值等都要写清楚
接口测试程序,有条件的话也可以提供,方便前后端的调试

随著业务的变化客户端APP和服务器端API都会发生变化,增加新的功能修改已有的功能,
增加功能还好说 如果是接口需要修改,那么就面临著同一个接口要同时为不同版本的客户端服务的问题
因此,服务器端接口也要做好相应的版本维护

主版本更新可以把版本号放入API的URL中/api-v2來指出所使用的API版本

次要版本的修改是通过客户在API调用时发起请求的HTTP头部做指定的头部的版本元素看起来是这样的:

12、接口数据、状态 接ロ必须提供明确的数据状态信息,不管是成功的还是失败的,都必须返回给APP客户端

13、接口、参数命名准确。 无论是接口还是参数命洺都应该有意义,让人一目了然接口调试技巧前提必须放在外网上

1》服务端return 调试信息,客户端调用并显示结果

2》在服务端将结果保存荿文件在打开文件查看,即日志型调试(或建临时表放在表里

考虑突然断网或接口信息返回超时api接口异常什么意思情况的业务处理(先扣金额更新状态如有问题自动返回)

}

我要回帖

更多关于 api接口异常 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信