gpt4 book ai didi

shopware - 生产环境找不到Controller Route

转载 作者:行者123 更新时间:2023-12-05 06:05:30 26 4
gpt4 key购买 nike

问题:我目前正在使用开发模板 (https://github.com/shopware/development) 为 Shopware 6 开发自定义插件,并在本地主机上进行测试。

目标是将我的插件用于在生产环境 (https://github.com/shopware/production) 上运行的在线商店

我的问题是我的插件在本地主机上完全按照我想要的方式工作,但如果我将它上传到我们的生产环境就不再是了。

示例:我编写了一个引入新路由的新 API Controller ,其功能与 SyncController 基本相同,但增加了一些额外的逻辑。

 * @Route("/api/v{version}/_action/my-extension/sync",
* name="api.action.my-extension.sync",
* methods={"POST"}
* )

我的 services.xml 中的条目:

     <service id="MyExtension\Api\Controller\CustomSyncController" public="true">
<argument type="service" id="Shopware\Core\Framework\Api\Sync\SyncService"/>
<argument type="service" id="serializer"/>
<call method="setContainer">
<argument type="service" id="service_container"/>
</call>
</service>

我的 routes.xml 中的条目:

<import resource="../../Api/Controller" type="annotation" />

据我所知,这应该足以让 Shopware 6 知道我的路线是什么,并且我应该能够将我的 POST 请求发送到该路线。

在本地主机上一切正常。

我的问题:我必须采取哪些步骤才能在我们的生产环境中使用此插件,因为我总是在生产环境中收到此消息:

{"errors":[{"code":"0","status":"404","title":"Not Found","detail":"No route found for \u0022POST \/api\/v3\/_action\/my-extension\/sync\u0022"}]}

我试图让它发挥作用:

  1. 只需压缩文件夹 custom/plugins/MyExtension 并将我的插件上传到生产环境。
  2. 将我的插件上传到本地主机,运行 ./psh.phar administration:build,从本地主机下载文件夹,压缩此文件夹并将其上传到生产环境。
  3. 将我的插件上传到本地主机,运行 ./psh.phar administration:build 和 ./psh.phar storefront:build,从本地主机下载文件夹,压缩此文件夹并将其上传到生产环境。
  4. 上传我的插件后,还在我们的生产环境中启动脚本“build-administration.sh”和“build-storefront.sh”。

目前我迷路了,因为我不明白需要哪些步骤才能在生产环境中获得与在本地主机上获得的结果相同的结果。

最佳答案

也许你在你的 routes.xml 中试试这个。

<import resource="../../Api/Controller/**/*.php" type="annotation" />

此外,routes.xml 文件必须位于插件的 src/Resources/config/routes.xml 中。

另外你没有提到插件的安装,所以你也必须安装并激活它。

关于shopware - 生产环境找不到Controller Route,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66009741/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com