【问题标题】:Laravel api - 405 not allowed shared hostingLaravel api - 405 不允许共享主机
【发布时间】:2021-06-11 08:39:10
【问题描述】:

我是 Laravel 的新手,我遇到了下一个问题。

我有一个在本地主机中正常工作的 API POST 路由。我从 POSTMAN 发送 POST 请求:

Route::group(['middleware' => 'api_import'], function () {
    Route::get('/products', [ArticlesController::class, 'index']);

    Route::post('/products', [ArticlesController::class, 'addOrUpdateArticles']);
    Route::post('/categories', [CategoriesController::class, 'addOrUpdateCategories']);
});

但是,它不适用于托管。托管是共享的,我收到消息:

当 json 包含几个产品时,一切正常。当 json 包含 3500 个产品的完整表时,我会收到此错误。

【问题讨论】:

  • 您使用的是哪个托管服务提供商?检查网络检查器是否存在从 HTTP 到 HTTPS 的重定向,这会破坏您的 POST。
  • 还有一个中间件,但是当我发送整个JSON时它并没有在日志文件中写入任何内容。公共函数句柄(请求 $request,关闭 $next){ \Log::info("headers"); \Log::info($request->headers);返回 $next($request); }
  • 您能否分享一个指向端点的 URL 以供我们查看?
  • 当我转到第一个 URL 时,我得到一个 404 页面。
  • 当它从浏览器打开时,你会得到 404 个页面。但这是一个 api 路由,我从邮递员那里发送请求。我还设置了一个json,你可以从邮递员那里尝试

标签: laravel


【解决方案1】:

页面上可能存在重定向。您应该通过浏览器中的网络选项卡确认这一点,因为任何带有重定向的POST 请求都被视为GET 请求,因此会出现错误(405 Method Not Allowd)

【讨论】:

  • 当我从 POSTMAN 向远程服务器发送请求时,如何从网络选项卡中查看?
  • 在浏览器中右键单击页面并选择inspect 然后打开network 选项卡并选择XHRALL 然后重新加载您的页面。在此之后,将为您显示任何请求
猜你喜欢
  • 1970-01-01
  • 2018-06-21
  • 2015-07-31
  • 2020-07-25
  • 2017-11-28
  • 2017-05-31
  • 1970-01-01
  • 2023-03-31
  • 2013-03-21
相关资源
最近更新 更多