API、HTTP 与数据库
从一次点击开始
Section titled “从一次点击开始”当你在网页里点击“保存”,通常会发生:
浏览器 → HTTPS 请求 → API 服务 → 校验身份和数据 → 数据库浏览器 ← JSON 响应 ← API 服务 ← 保存结果API 是服务提供给其他程序使用的入口;HTTP 是浏览器和服务交换请求/响应的协议;JSON 是常见的数据表达格式。它们不是同一个东西,但经常一起出现。
HTTP 请求包含什么
Section titled “HTTP 请求包含什么”- 方法:
GET读取、POST创建、PATCH部分修改、DELETE删除; - URL:要访问的资源地址;
- Headers:认证、内容类型和客户端信息;
- Body:发送给服务的数据;
- 状态码:服务对结果的简短说明。
一个请求失败时,先看状态码和响应正文,不要只凭浏览器上“网络错误”四个字猜原因。
API Key、登录和权限
Section titled “API Key、登录和权限”API Key 是服务识别调用者的一种凭证;登录会话通常还包括用户身份、过期时间和权限。两者都不应该暴露在公开前端代码、URL、截图或日志中。
前端可以隐藏按钮,但不能作为最终权限控制。后端每次访问数据都要再次判断“谁在访问、能访问什么、要执行什么动作”。
数据库是什么
Section titled “数据库是什么”数据库用于保存应用的结构化数据和查询关系。新手常见的两类:
- 关系型数据库:用表、行、列和关系组织数据,适合一致性和复杂查询;
- 文档/键值数据库:以文档或键值保存数据,结构更灵活,但仍需设计查询和权限。
选数据库前先画出数据对象、字段、关系、唯一性、删除规则和访问角色。不要把“使用某种数据库”当成需求本身。
JSON 示例
Section titled “JSON 示例”{ "title": "第一次会话", "status": "draft", "ownerId": "user_123"}JSON 只是传输格式,不会自动保证字段正确。服务端仍需验证类型、长度、枚举值和权限。
新手排错顺序
Section titled “新手排错顺序”- 请求是否发到了正确的 URL 和环境?
- 浏览器 Network 中的方法、状态码和响应是什么?
- API 服务日志是否收到请求?
- 环境变量、Key、数据库连接是否存在?
- 数据库迁移和当前表结构是否一致?
- 失败后是否重复写入或留下半成品数据?