PHP怎么写API接口_RESTful API基础写法介绍【介绍】

张开发
2026/4/9 22:57:42 15 分钟阅读

分享文章

PHP怎么写API接口_RESTful API基础写法介绍【介绍】
不用框架也能写RESTful接口核心是用$_SERVER[REQUEST_METHOD]区分HTTP方法json_encode()返回数据并严格设置header(Content-Type: application/json; charsetutf-8)任何输出前禁止echo、空白符或错误提示。怎么用 PHP 快速写一个可被调用的 RESTful 接口直接说结论不用框架也能写核心是靠 $_SERVER[REQUEST_METHOD] 区分动作用 json_encode() 返回数据再加几行 header 设置。关键不是“多规范”而是“别让前端拿不到数据”。常见错误现象405 Method Not Allowed没处理对应 HTTP 方法、500 Internal Server Error没设 Content-Type 或输出了额外空格、前端收不到 JSONheader 没写对或用了 echo 混淆。必须手动设置 header(Content-Type: application/json; charsetutf-8);否则浏览器/前端可能当文本解析所有输出前不能有任何 echo、print、空白符包括文件末尾的换行用 file_get_contents(php://input) 读取 POST/PUT 的原始 body别只依赖 $_POST它不处理 JSON简单接口建议用 switch($_SERVER[REQUEST_METHOD]) 分支比一堆 if 更清晰GET 和 POST 请求怎么分别处理才不踩坑GET 用 $_GET 拿参数没问题但 POST 就容易错——尤其前端发的是 JSON 格式时$_POST 是空的因为 PHP 默认只解析 application/x-www-form-urlencoded 和 multipart/form-data。GET 接口示例路径/api/users?id123 → 直接取 $_GET[id]记得用 filter_input(INPUT_GET, id, FILTER_SANITIZE_NUMBER_INT) 过滤POST 接口若接收 JSON$raw file_get_contents(php://input); → $data json_decode($raw, true);再检查 $data ! null不要在同一个脚本里混用 $_POST 和 php://inputPHP 会因输入流已读完导致后者返回空字符串如果用 cURL 测试记得加 -H Content-Type: application/json否则服务端可能忽略 body为什么返回 JSON 时 header 顺序和状态码这么重要HTTP 状态码不是装饰前端会根据它做逻辑分支header 顺序不对有些客户端比如旧版 iOS WebView会直接丢弃响应体。 AI智研社 AI智研社是一个专注于人工智能领域的综合性平台

更多文章