自定义 Shopware6 路由给出“不允许使用 405 方法”
custom Shopware6 route gives "405 Method Not Allowed"
我创建了一个 shopware6 插件,其中包含一个前端自定义路由,该路由应该能够接收来自 ExactOnline 的 POST 请求。
但是当我使用 Postman 进行一些测试时,我收到“405 Method Not allowed”。
这是我的控制器:
<?php
namespace Emakers\TransmissionPlugin\Controller;
//use Emakers\TransmissionPlugin\Controller\Frontend\Services\ExactRequirements;
use Shopware\Core\Framework\Routing\Annotation\RouteScope;
use Shopware\Core\System\SalesChannel\SalesChannelContext;
use Shopware\Storefront\Controller\StorefrontController;
use Symfony\Component\Routing\Annotation\Route;
/**
* @RouteScope(scopes={"storefront"})
*/
class AccountsController extends StorefrontController
{
/**
* @Route("/accounts", name="frontend.accounts", options={"seo"="false"}, methods={"POST"})
*/
public function accounts()
{
die('ok boy');
$file = 'custom/plugins/TransmissionPlugin/Resources/webhooks/accountWebhook.txt';
}
}
当我将 methods={"POST"} 替换为 methods={"GET"} 时,同样的测试请求 returns "ok boy" 这是正常的。
我已经在 Shopware5 和 GET 和 POST[= 中创建了这样的插件33=] 请求已经在工作,没有做任何特别的事情。
如何在 Shopware6 上发出 POST 请求 ALLOW ?
谢谢!
您已将路线限制为 POST。当您从另一个方法调用它时 POST,它会导致 Method not allowed 错误。也许您想将 GET 和 POST 都列入白名单?
所以改成methods={"GET", "POST"}
我创建了一个 shopware6 插件,其中包含一个前端自定义路由,该路由应该能够接收来自 ExactOnline 的 POST 请求。
但是当我使用 Postman 进行一些测试时,我收到“405 Method Not allowed”。 这是我的控制器:
<?php
namespace Emakers\TransmissionPlugin\Controller;
//use Emakers\TransmissionPlugin\Controller\Frontend\Services\ExactRequirements;
use Shopware\Core\Framework\Routing\Annotation\RouteScope;
use Shopware\Core\System\SalesChannel\SalesChannelContext;
use Shopware\Storefront\Controller\StorefrontController;
use Symfony\Component\Routing\Annotation\Route;
/**
* @RouteScope(scopes={"storefront"})
*/
class AccountsController extends StorefrontController
{
/**
* @Route("/accounts", name="frontend.accounts", options={"seo"="false"}, methods={"POST"})
*/
public function accounts()
{
die('ok boy');
$file = 'custom/plugins/TransmissionPlugin/Resources/webhooks/accountWebhook.txt';
}
}
当我将 methods={"POST"} 替换为 methods={"GET"} 时,同样的测试请求 returns "ok boy" 这是正常的。
我已经在 Shopware5 和 GET 和 POST[= 中创建了这样的插件33=] 请求已经在工作,没有做任何特别的事情。
如何在 Shopware6 上发出 POST 请求 ALLOW ?
谢谢!
您已将路线限制为 POST。当您从另一个方法调用它时 POST,它会导致 Method not allowed 错误。也许您想将 GET 和 POST 都列入白名单?
所以改成methods={"GET", "POST"}