如何在Postman中测试使用php://input接收JSON的PHP登录API?
Postman 测试PHP原生JSON登录接口操作指南
你的接口核心通过php://input读取客户端发送的原始JSON数据完成解析,和之前适配Android Retrofit的请求逻辑完全一致,测试时严格匹配请求格式即可,具体操作步骤如下:
基础请求配置
- 打开Postman新建请求,请求方法选择
POST,接口没有做GET参数兼容,GET请求无法读取到对应数据 - 在URL输入栏填写部署完成的接口完整访问路径,例如本地部署场景下的
http://localhost/项目目录/login.php - 注意:不要在URL后拼接
?mobile=xxx&password=xxx这类GET参数,你的接口代码不会读取这类参数,拼接后测试结果无效
请求头配置(关键校验项)
需要和Retrofit的请求头保持一致,避免服务端识别失败:
- 切换到
Headers配置页,确认存在两个固定请求头:Content-Type:值为application/jsonAccept:值为application/json
小提示:选择Postman内置的JSON格式Body时,工具会自动补充对应的Content-Type配置,手动核对即可,无需重复添加
请求Body配置(核心测试环节)
- 切换到
Body配置页,选择raw选项,将右侧的格式下拉菜单切换为JSON(不要选择Text、表单类格式) - 在输入框中填入和客户端结构完全一致的JSON测试数据,字段名必须和代码中解析的字段完全匹配,示例:
{ "mobile": "13800138000", "password": "your_test_password" }
- 如果字段名大小写不匹配、内容为空,接口会直接走参数校验分支,返回
ResponseCode=401、提示"Something Went Wrong!"的结果
响应结果校验
点击Send按钮发起请求,在下方响应面板即可看到接口返回的JSON数据,可对照代码分支完成全场景测试:
- 空参数场景:清空Body中任意一个字段的值,验证返回的参数错误提示
- 合法账号场景:填入数据库
user表中status=1、匹配对应手机号/邮箱和密码的有效账号,验证登录成功的200响应 - 无效账号场景:填入不匹配的账号密码,验证账号密码错误的提示响应
- 账号全停用场景:将
user表所有记录的status值改为0,验证账号状态停用的提示响应
常见踩坑说明:
- JSON格式错误时Postman会在输入区标红提示,修正引号缺失、多余逗号等格式问题后再发请求
- 若测试时出现跨域报错,是接口端未配置跨域响应头导致的,和Postman测试流程无关,给PHP接口头部补充跨域响应头即可解决
内容的提问来源于stack exchange,提问作者sunakshi sinha
相关产品推荐
相关产品推荐

