API设计资料整理

API

API管理工具

目前管理方式: postman+apizza (postman 数据可以导入其他平台 + apizza可在线分享)

期望找到WEB管理平台

  1. API可以导出文档(markdown html word)
  2. API可以匿名访问
  3. 可导入postman 可导出postman
  4. 协作处理
  5. 自动测试

试用体验产品

eolinker, 不可匿名访问, 导出数据只能为eolinker格式的

YApi 功能过于简单

v2ex站看到-DOClever

接口认证

OAuth 2.0 oauth-php

自定服务与客户端相同算法认证

        // 签名认证 
            $signature = $this->request ( "signature" ); // app端生成的签名
            $token = $this->request ( "token" ); // app端生成的随机字符串

            if (! $signature || ! $token) {
                $this->wrong ( '缺少参数' );
            }

            $signature1 = md5 ( sha1 ( $token ) . C ( "SIGN_KEY" ) );

            if ($signature != $signature1) {
                $this->wrong ( '非法调用' );
            }

URL方式

RESTful [RESTful API 设计指南]

API版本管理

使用域名,如 v1.api.bugtags.com 来区分接口的版本

将版本信息放到 url 的 pathinfo 中,如 api.bugtags.com/v1/

将版本信息放到请求参数中,如 api.bugtags.com/user/1?_ver=1.0.1

将版本信息放到 http header 中,如 API_VER: 1.0.1

数据传输加密

https

相关API设计文章

API设计和代码结构组织

发表评论

电子邮件地址不会被公开。 必填项已用*标注