Laravel webhook 路由返回 405 错误 - 想法?

Laravel webhook route returning 405 error - ideas?

我正在为我的 laravel 5.3 网站设置 webhook 以响应来自 mailchimp 的事件。

我正在 MailChimp 中设置回调,但 Mailchimp 一直显示 405 错误。

这是我网站上的内容:

对于 verifycsrftoken 中间件:

class VerifyCsrfToken extends BaseVerifier
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */


    protected $except = [
        'stripe/*',
        'zoom/*',
        'mailchimp/*',

    ];
}

顺便说一下,stripe webhooks 工作得很好...

在web.php

// zoom webhooks
Route::post(
    'mailchimp/webhook',
    'MailchimpWebhookController@handle'
);

在我的 Controllers 文件夹中(Stripewebhook 控制器所在的同一位置)这是我的 MailchimpWebhookController

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Log;


class MailchimpWebhookController extends Controller
{
    /**
     * Handle a Stripe webhook.
     *
     * @param  array  $payload
     * @return Response
     */
    public function handle(Request $request)
    {
        // Handle The Event

        return Response('My Mailchimp Webhook Handled', 200);
    }
}

在 Mailchimp 中,我将回调指定为 https://somesite.com/mailchimp/webhook

只是想不通为什么这不起作用...我已经清除了缓存、路由,但没有任何效果。如果我这样做:

Route::get('mailchimp/webhook', function()
{
    return Response('My Mailchimp Webhook Handled', 200);
});

然后就可以了。但这不会:

Route::post('mailchimp/webhook', function()
{
    return Response('My Mailchimp Webhook Handled', 200);
});

所以 post 方法似乎以某种方式将其绊倒了。但正如我所说,stripe webhooks 工作得很好......

也许是显而易见的事情?

谢谢

HTTP 405 - Method not allowed

A request method is not supported for the requested resource; for example, a GET request on a form that requires data to be presented via POST, or a PUT request on a read-only resource.

MailChimp 发送 GET 请求,但您正在等待 POST。

也许 GET 路线会有帮助。

Route::get(
    'mailchimp/webhook',
    'MailchimpWebhookController@handle'
);