接口 API
点击预约会议室后,页面把会议室编号和预约时段交给接口,接口返回预约结果。
后端与接口约 10 分钟 · 从真实需求理解
1会议室预约为什么需要 API?
01
REQUEST
POST
/api/meeting-rooms/2048/book表达会议室预约意图
roomId2048slot周五 15:00
02
CONTRACT CHECK接口约定
请求和响应遵守同一份约定
- ✓允许字段只接收 roomId 和 slot
- ✓可信结果预约状态由服务端决定
- ✓失败格式返回稳定错误码
03
RESPONSE200 OK
等待接口返回预约状态
confirmed
roomId2048statusconfirmed
请求字段已经准备好,等待接口检查。
点击预约会议室后,页面发送会议室编号和预约时段。API 规定请求怎么写,也规定成功或失败要返回什么。
- 请求表达意图:要预约哪间会议室,以及预约哪个时段。
- 结果来自服务端:页面根据返回的状态显示已预约或错误原因,而不是自己猜测结果。
2API、前端和 JSON 有什么不同?
API 规定页面怎样和服务端交换数据,前端负责把输入和结果显示出来,JSON 是常见的数据写法。三者可能一起出现,但职责并不相同。
- API 不等于 前端 Frontend:API 规定交换数据的入口、方法、字段和结果,前端负责页面和交互。
- API 不等于 JSON:API 是双方的办事约定,JSON 只是装载对象、数组和字段的一种格式。
- 看到一个 URL 还不够,还要确认方法、允许字段、成功结果和失败结果。
3一份 API 契约由哪些真实部分组成?
/api/meeting-rooms/2048/book表达会议室预约意图
roomId 2048slot 周五 15:00约束字段、可信结果和错误格式
✓允许字段只接收两项输入✓可信结果由服务端生成✓错误格式返回稳定错误码客户端可以依赖的结果
roomId 2048status confirmed验收 API 时,要能分别找到入口、允许提交的字段、服务端规则和返回结果。它们共同构成可被调用方依赖的契约。
- 方法和路径说明从哪里调用,以及这次调用要做什么。
- 请求字段说明页面可以提交什么,契约规则说明哪些结果必须由服务端确认。
- 稳定响应同时覆盖成功和失败,让页面知道下一步该显示结果、保留输入还是允许修正。
4预约成功和失败时,API 返回什么?
预约成功
API 请求请求POST
/api/meeting-rooms/2048/bookroomId=2048 · slot=周五 15:00
响应200 OK
status=confirmed页面处理
显示“预约成功”,保留服务端确认的预约结果。
点击“发送请求”查看这份响应。
预约被拒绝
API 请求请求POST
/api/meeting-rooms/2048/bookroomId=2048 · slot=周五 15:00
错误响应403 BOOKING_FORBIDDEN
error=BOOKING_FORBIDDEN页面处理
保留可修改内容,提示用户联系管理员或修正请求。
点击“发送请求”查看这份响应。
同一个预约接口可能返回成功或拒绝。调用方不猜结果,而是按照稳定的状态码、错误码和响应体处理当前页面。
- 正常预约返回 200 OK 和 confirmed,页面可以显示已预约并保留服务端结果。
- 权限检查失败返回 403 BOOKING_FORBIDDEN,页面保留可以修改的内容,并把错误转成用户能处理的提示。
5什么时候需要设计 API?
预约时段格式提示和字段完整性只影响当前页面,不必为每次输入调用 API。
输入格式提示
按钮暂时禁用
预约状态、预约编号和错误原因会被预约列表与管理端继续读取,需要服务端统一确认。
页面展示输入和结果
API确认权限与关键数据
判断是否需要 API,要看这个结果会不会被其他页面、端或服务继续使用,而不是看它看起来像不像一个按钮。
- 输入格式提示、当前字段是否完整等只影响页面自己的小状态,可以先留在前端。
- 预约状态、预约编号和错误原因会被列表页与管理端读取,应由 API 统一确认并返回。
6怎样把 API 需求交给 Agent?
请实现会议室预约 API:浏览器调用 POST /api/meeting-rooms/2048/book,只提交 roomId 和 slot。服务端从当前登录会话判断用户,检查预约权限和会议室状态;不要接受客户端传入 userId、confirmedAt 或最终状态。成功返回 200 OK、roomId 和 confirmed;失败返回稳定错误码,并保留页面中可以修改的内容。不要把密码、令牌或内部堆栈返回给浏览器。验收时同时检查成功和失败响应、字段边界、权限来源以及浏览器不应看到的敏感信息。
7不用背,看看你能不能判断
1 / 3
API 最主要解决什么问题?
请选择一个最符合题意的答案
社区延伸
看别人真实遇到过什么
社区帖子还没有关联到这个词条。