| 類型 | 一句話記憶 | 現(xiàn)實類比 |
|---|---|---|
| REST | 資源+HTTP動詞 | 餐廳菜單 |
| GraphQL | 客戶端自選字段 | 自助餐 |
| WebSocket | 雙向?qū)崟r流 | 對講機 |
示例請求速覽
https://maps.googleapis.com/maps/api/geocode/json?address=New+York&key=YOUR_API_KEY https://api.twitter.com/2/tweets/1453489038376132611 POST https://api.stripe.com/v1/payment_intents用「代碼審查助手」一鍵掃描:是否返回一致錯誤信封、是否濫用 200 狀態(tài)碼 ?
| 模式 | URL 示例 | 說明 |
|---|---|---|
| CRUD | GET /products/{id} |
資源+HTTP 動詞 |
| 分頁 | ?page=2&per_page=20 |
限制+偏移 or 游標(biāo) |
| 排序 | ?sort=-created_at |
降序排列 |
| 篩選 | ?status=active&price_lte=100 |
字段運算符 |
用「代碼生成」3 秒生成 Spring Boot 控制器骨架,帶分頁、排序、Swagger 注解 ??
用「代碼優(yōu)化」把同步 DB 查詢改異步緩存,P99 ↓50 %
/v1/ + Sunset 頭部,提前 6 個月公告用「開發(fā)任務(wù)管理系統(tǒng)KPI」把「99.9 % 可用性」「P99 < 200 ms」寫進 OKR,每周復(fù)盤 ??
from flask import Flask, request
app = Flask(__name__)
@app.route('/products', methods=['GET'])
def list_products():
page = request.args.get('page', 1, type=int)
per_page = request.args.get('per_page', 10, type=int)
return {"data": [], "meta": {"page": page, "per_page": per_page}}
if __name__ == '__main__':
app.run()
Route::get('/products', function (Request $req) {
return response()->json([
'data' => [],
'meta' => [
'page' => $req->query('page', 1),
'per_page' => $req->query('per_page', 10)
]
]);
});
const express = require('express');
const app = express();
app.get('/products', (req, res) => {
const page = parseInt(req.query.page) || 1;
const perPage = parseInt(req.query.per_page) || 10;
res.json({ data: [], meta: { page, per_page: perPage }});
});
app.listen(3000);
用「代碼文檔生成器」一鍵生成 OpenAPI 3.0 文檔 + SDK 注釋,前端 5 分鐘接入 ?
API 不僅是技術(shù),更是連接用戶、企業(yè)與未來的橋梁。今天就把這座橋建得堅固又優(yōu)美!??