【问题标题】:How to resolve a "MethodNotAllowedHttpException" error in Laravel?如何解决 Laravel 中的“MethodNotAllowedHttpException”错误?
【发布时间】:2017-08-06 06:34:25
【问题描述】:

我正在 Laravel 中开发一个护照 API。我收到“MethodNotAllowedHttpException”。

我不知道,我必须做什么修复。

<?php

use Illuminate\Http\Request;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::post('register', 'Api\Auth\RegisterController@register');
Route::post('login', 'Api\Auth\LoginController@login');
Route::post('refresh', 'Api\Auth\LoginController@refresh');

Route::middleware('auth:api')->group(function () {
    Route::post('logout', 'Api\Auth\LoginController@logout');
    Route::get('posts', 'Api\PostController@index');
});

【问题讨论】:

  • 在浏览器中访问register 时,您使用的是GET,但您的路由只允许POST。您可能需要curl 或 Postman 来测试您的 API。
  • 我确实有同样的问题,您找到解决方案了吗,请告诉我。

标签: laravel api httpexception methodnotfound routeconfig


【解决方案1】:

由于您的路由中的请求类型(GET / POST)不匹配以及您的 API 调用中的请求类型或您视图中的表单标签,可能会发生此错误

  • 检查您的路由文件和 API 调用中的请求类型是否匹配

【讨论】:

    【解决方案2】:

    看,你在路由中使用了“post”方法:

    Route::post('register', 'Api\Auth\RegisterController@register');
    

    浏览器的默认设置是'get'。您是要显示注册表单还是要向该路由提交表单。

    您应该将该路由更改为 GET 或创建另一个路由来显示页面,然后将表单作为帖子提交到预期的路由

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 2018-08-07
      • 2017-09-23
      • 2019-03-25
      • 2017-09-21
      • 1970-01-01
      • 2016-01-29
      相关资源
      最近更新 更多