写代码之前先问自己四个问题,叫接口四问:地址是什么?用 GET 还是 POST?要传什么参数?返回长什么样?——问清楚了再动手,能少踩 90% 的坑。就像去餐厅吃饭,你得先知道去哪(地址)、点什么菜(参数)、能吃到什么(返回值),不能坐下就瞎喊。
另外,写代码之前先用 ApiPost 工具手动试一下接口通不通。能在 ApiPost 里跑通的接口,写到代码里大概率也能跑通;ApiPost 里都不通,那就别写代码浪费时间了,先找后端。
ApiPost 是一个可视化的接口测试工具。你不需要写一行 JS 代码,就能像填表一样发请求、看结果。就像你去餐厅之前先打电话问"今天开门吗?有这道菜吗?"——确认了再过去,别跑空。
// ApiPost 基础操作流程: // 1. 新建一个请求,选 GET 还是 POST // 2. 把后端给的接口 URL 填进去 // 3. GET 就在 Params 面板填参数,POST 就在 Body 面板填参数 // 4. 如果需要请求头,在 Headers 里配置 // 5. 点"发送"按钮,下方立刻看到后端返回了什么 JSON // 为什么写代码前要用它? // → 先确认接口通不通、参数对不对、返回长什么样 // → 确认没问题了,再照着 ApiPost 里的配置写 AJAX 代码 // → 这样代码写错了,问题一定在代码里,不用怀疑接口本身
如果你上来就闷头写 AJAX 代码,写完发现不通,你都不知道是接口的问题还是你代码的问题。因为没分开验证。先 ApiPost 验证接口、再写代码,出问题直接定位到代码。
后端给你接口的时候,你必须把下面四个问题问清楚再动手:
// ===== 接口四问 =====
// 第1问:请求地址是什么?(完整的 API URL)
// 比如:http://bas.xingyuncm.cn/fastapi/announ/add
// 第2问:用什么方式?(GET 还是 POST)
// 查数据一般 GET,增删改一般 POST
// 第3问:要传什么参数?
// 参数叫什么名字?什么类型?是不是必填?
// 比如:content(公告内容)、type(1上架2下架)、status(1开屏2不开屏)
// 第4问:返回长什么样?
// 成功和失败怎么区分?
// 比如:{ code: 1, msg: "添加成功" } 或 { code: 0, msg: "添加失败" }
// (这里的 code 就是业务码,用来判断成功还是失败)
如果你没问清楚"成功和失败怎么区分"就写代码,拿到数据后你不知道什么时候算成功——因为每个后端的业务码不一样,有的是 code=0 成功,有的是 code=1 成功,必须提前问清楚。
状态码就像快递的配送状态:签收了、地址找不到、不让送、货物坏了……一看状态码就知道哪出了问题:
// 200 OK:网络通信成功!
// 但注意:200 不代表业务成功!
// 还要看返回 JSON 里的 code/msg 业务字段
// 比如后端返回 {code:0, msg:"失败"},网络通了但业务失败了
// 404 Not Found:地址找不到
// 要么 URL 拼错了,要么后端还没部署这个接口
// → 检查拼写、大小写、路径
// 403 Forbidden:没权限
// 服务器拒绝你访问,可能是 token 过期了、没登录
// → 检查登录状态、token
// 400 Bad Request:参数不对
// 你传的参数缺了、格式不对、名字写错了
// → 对照接口四问核对参数名和格式
// 500 Internal Server Error:后端自己崩了
// 后端的 Java/PHP 代码报错了,不是你的问题
// → 截图发给后端同学,让他查日志
如果你看到 200 就以为一切成功,继续往下走,结果数据是空的或者报错——因为 200 只代表"网络通了",不代表"业务成功了"。必须再看返回 JSON 里的 code 字段。
可能在什么地方用:
① 拿到后端接口文档后,先用 ApiPost 试一遍再写代码;② 接口不通时用状态码快速定位问题方向;③ 团队协作时,把接口四问整理成文档发给前后端对齐。
常见的问题:
① 没确认接口四问就写代码,参数名猜错了;② 看到 200 就以为成功,没看业务码;③ 404 了不知道是 URL 拼错还是后端没部署;④ 500 了以为是自己代码问题,其实是后端崩了。
解决思路:
① 写代码前用 ApiPost 先验证接口;② 不管什么状态码,都看一眼 responseText 里后端写的提示文字;③ 404/403 查自己的 URL 和权限;④ 500 直接找后端,别自己瞎改。
练习四:ApiPost 实战——① 注册登录 ApiPost;② 发一个 GET 请求到 http://bas.xingyuncm.cn/webapi/collect/index?userid=260,看返回数据;③ 发一个 POST 请求到 http://bas.xingyuncm.cn/webapi/index/user,Body 里传 account 和 password;④ 把测试通过的接口信息整理成文档。
练习五:接口四问实战——针对"公告添加"功能(POST 到 announ/add,参数 content/type/status,返回 code 1=成功 0=失败),先在注释里回答接口四问,再写完整代码。