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 工作得很好......
也许是显而易见的事情?
谢谢
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'
);
我正在为我的 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 工作得很好......
也许是显而易见的事情?
谢谢
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'
);