【1.3 后端开发】之【WebAPI确认清单】
2019-05-04 本文已影响1人
当我写下一亿行代码
- URI是否短小且容易输入
- URI是否能让人一眼看懂
- URI是否只有小写字母组成
- URI是否容易修改
- URI是否反映了服务器端的架构
- URI规则是否统一
- 有没有使用合适的HTTP方法
- URI里用到的单词所表示的意思是否和大部分API相同
- URI里用到的名词是否采用了复数形式
- URI里有没有空格符及需要编码的字符
- URI里的单词和单词之间有没有使用连接符
- 分页的设计是否恰当
- 登录有没有使用OAuth 2.0
- 响应数据格式有没有使用JSON作为默认格式
- 是否支持通过查询参数来指定数据格式
- 是否支持不必要的JSONP
- 响应数据的内容能不能从客户端指定
- 响应数据中是否存在不必要的封装
- 确应数据的结构有没有尽量做到扁平化
- 响应数据有没有用对象來描述,而不是用数据
- 响应数据的名称所选用的单词的意思是否和大部分API相同
- 响应数据的名称有没有用尽可能少的单词来描述
- 响应数据的名称由多个单词连接而成时,连接方法在整个API里是否一致
- 响应数据的名称有没有使用奇怪的缩写形式
- 响应数据的名称的单复数形式是否和数据内容相一致
- 出错时响应数据中是否包含有助于客户端剖析原因的信息
- 出错时有没有返回HTML数据
- 有没有返回合适的状态码
- 服务器端在维护时有没有返回503状态码
- 有没有返回合适的媒体类型
- 必要时能不能支持CORS
- 有没有返回 Cache-Control、ETag、Last-Modified, Vary 等首部以便客户端采用合适的缓存策略
- 不想缓存的数据有没有添加Cache-Control: no-cache首部信息
- 有没有对API进行版本管理
- API版本的命名有没有遵循语义化版本控制规范
- 有没有在URI里嵌人主版本编号,并且能够让人一目了然
- 有没有考虑API终止提供吋的相关事项
- 有没有在文档里明确注明API的最低提供期限
- 有没有使用HTTPS来提供API
- 有没有认真执行JSON转义
- 能不能识别X-Requested-With首部,让浏览器无法通过SCRIPT元素读取 JSON数据
- 通过浏览器访问的API有没有使用XSRF token
- API在接收参数时有没有仔细检查作法的参数(负数等)
- 有没有做到即使清求重复发送,数据也不会多次更新
- 有没有在响应消息里添加各种增强安全性的首部
- 有没有实施访问限速
- 对预想的用例来说限速的次数有没布设置得过少