【发布时间】:2020-01-11 13:34:23
【问题描述】:
我正在为我的 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 webhook 工作得很好......
在 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 方法似乎以某种方式绊倒了这一点。但就像我说的,条纹 webhook 工作得很好......
也许是显而易见的?
谢谢
【问题讨论】:
标签: laravel webhooks mailchimp