Api设计指南

基本概念

应用程序编程接口

按层级划分

操作系统->编程语言->框架类库->Web API

编程语言对操作系统的API封装,框架类库对编程语言API的封装, Web API是对框架类库的封装

按协议划分

http(s) rest api

ws(s) rest api websocket 流式api

tcp rpc形式的api

按应用场景划分

业务应用

app,小程序,pc站,手机站 等客户端提供 api

开放平台(Open API)

PaaSSaaS 平台的服务API

API设计必须要具备的指标

规范和风格

restful api 风格,laravel框架自带

Restful Api 风格规范研究

github路由风格,https://api.github.com/

全部小写,多单词时用短划线分隔

http://xxxx/register-phone

不要用下划线,下划线的域名和路由在一些第三方开放平台无法通过验证,如qq互联申请时

鉴权

OAuth2

Laravel搭建OAuth2.0服务

LaravelSanctum 授权 SPA场景

防止重放攻击

请求限流

浅谈api限流

按时间限流,req/minute

随机拒绝,如秒杀场景

api(路由)版本管理

Laravel路由版本控制的实现。