如何在Shopware 6自定义端点的App脚本中获取请求数据?
在Shopware 6 App脚本自定义端点中获取POST请求数据的方法
在Shopware 6的App脚本里,直接调用的request变量并不是完整的HTTP请求对象,所以你会看到dump结果是[null]。要获取POST请求数据,可采用以下方法:
获取JSON格式的请求体
先获取原始请求内容,再解析成数组:{% set rawRequestBody = app.request.getContent() %} {% set postData = rawRequestBody|json_decode(constant('JSON_OBJECT_AS_ARRAY')) %} {% do debug.dump(postData) %}注意:发送请求时必须将
Content-Type设为application/json,否则解析会失败。获取表单格式的请求数据
如果是application/x-www-form-urlencoded类型的表单提交,直接用request对象的request属性获取:{% set formData = app.request.request.all() %} {% do debug.dump(formData) %}也可以单独获取某个字段:
{% set specificField = app.request.request.get('field_name') %}排查问题的小技巧
- 先打印原始请求体确认数据是否真的到达端点:
{% do debug.dump(app.request.getContent()) %} - 检查请求的
Content-Type是否和你解析的格式匹配 - 确认App的路由配置正确,端点路径没有写错
- 检查Shopware的安全设置,确保请求没有被CSRF或其他拦截机制阻止
- 先打印原始请求体确认数据是否真的到达端点:
内容的提问来源于stack exchange,提问作者Claudiu Stoica
相关产品推荐
相关产品推荐

