如何使用PhpStorm REST API客户端高效手动测试Shopware 6 API
解决Shopware 6 API令牌频繁过期的PhpStorm测试技巧
方法一:用PhpStorm HTTP Client自动刷新令牌(推荐)
PhpStorm自带的HTTP Client支持预请求脚本,能在每次测试API前自动获取新令牌并更新环境变量,完全不用手动操作:
- 先创建环境配置文件
shopware.env.json,内容示例:
{ "dev": { "baseUrl": "http://your-shopware-domain/api", "accessToken": "", "clientId": "your-client-id", "clientSecret": "your-client-secret" } }
- 新建一个获取令牌的HTTP请求文件
refresh-token.http:
POST {{baseUrl}}/oauth/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id={{clientId}}&client_secret={{clientSecret}}
- 在你的业务API请求文件里,添加预请求脚本,在请求头上方插入:
// 发送令牌请求并更新环境变量 client.sendRequest("refresh-token.http", (response) => { const token = response.body.json().access_token; client.global.set("accessToken", token); });
- 业务API的请求头直接用变量:
GET {{baseUrl}}/product Authorization: Bearer {{accessToken}}
这样每次运行业务请求时,都会自动先刷新令牌,完全不用手动干预。
方法二:开发环境延长令牌有效期
如果只是本地开发测试,可以直接修改Shopware的配置延长令牌过期时间:
- 找到项目根目录的
.env文件,添加或修改:
SHOPWARE_JWT_TOKEN_TTL=3600
这里设置的是3600秒(1小时),可以根据测试需求调整,生产环境不建议这么做,只适合本地开发用。
方法三:快速手动刷新令牌的快捷方式
如果不想搞自动脚本,也可以用PhpStorm的快捷操作简化手动流程:
- 把获取令牌的请求保存为Favorite,点击侧边栏的收藏夹就能一键运行;
- 用PhpStorm的Live Template,设置一个快捷键,直接插入令牌请求的代码片段,运行后复制返回的token到请求头里。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

