做了一段时间ios开发,也做了几个项目,现对其进行总结。。其中大部分是从其它博客转载而来,小部分为自己的理解。。希望大家一起学习、进步。。
一、接口设计
对于app接口主要有三个要点:
1,接口安全机制:
2,接口标准规范化:
3,接口版本控制:
1.1 接口安全机制:
接口安全机制:主要有以下两点
1,保证数据传输的安全
2,保证api的调用者,是经过授权的合法调用
数据传输:可通过base64、3des进行加密,或采用https进行传输的方式即可
用户身份的确认:
1,仿pc浏览器,通过session完成,第一次登录后,获取sessionid,并存储到cookie,下次请求再带上便于认证
2,token方式:第一次登录后,服务器生成token存到数据库,并返回; 客户端则将token保存到本地,之后发起相关请求,都需要带上token;每次切换手机登录、修改密码、也应更新token;
1.2 接口标准规范化:
接口通常采用http、webservice,数据格式则通常为json、xml两种
数据结构的定义:核心字段分为三个,状态吗、描述、数据
{
code:0,
msg:"登录成功!",
result{
...数据相关
}
}
全局错误码的定义:一种是给客户端开发人员调试用,一种是作为错误提示给用户
//开发调试类错误(全局统一)
101:token失效,需重新认证
102:签名加密错误
103:参数错误
...
//提供给用户看的错误(每个接口代表业务意义都不同)
1:密码错误
2:验证码错误
3,该用户已注册
...
1.3 接口版本控制:
在产品的迭代过程中,接口的变化主要有:
1,参数变化
2,接口废弃
个人建议是为了兼容老版本,对所有接口加上版本号来标识例如http://www.domain.com/v1/loginForPassword
http://www.domain.com/v2/loginForPassword