API设计资料及工具

API测试工具、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设计和代码结构组织

API文档资料

REST API 使用详解
EasyAPI服务开发者

swagger

swagger-UI官网
swagger-ui-github
swagger:php后台api文档生成初试
Swagger 生成 PHP API 接口文档
Swagger简介

如何编写基于 Swagger-PHP 的 API 文档
swagger-php-github

关于认证的几种方式 | 认证方式

OpenAPI 规范摘要 返回数据关于 #/components/schemas/AccountModel 位置定位说明
swagger的jwt登录 Swagger Authorization 最后用的是apiKey方式 http方式不能自定义header头名字 值有多了一个字符

API文档工具

easy-mock
yapi
常见的API接口管理工具