【发布时间】:2017-01-08 04:08:51
【问题描述】:
当我尝试访问一个页面时,我得到了 MethodNotAllowedHttpException。这曾经有效,但无法弄清楚我做了什么来破坏它。
routes.php
Route::post('api', ['middleware' => 'api', 'uses' => 'DeviceController@api']);
DeviceController.php
public function api()
{
return view('api');
}
api.blade.php(我已更改 api.blade.php 以排除它是问题的根源。)
<?php echo 'test'; ?>
app/Http/kernal.php
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],
'api' => [
'throttle:60,1',
'auth:api',
],
];
配置/auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'devices',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'devices' => [
'driver' => 'eloquent',
'model' => App\Device::class,
],
],
app/Providers/RouteServiceProvider.php
public function map(Router $router)
{
$router->group([
'namespace' => $this->namespace,
], function ($router) {
require app_path('Http/routes.php');
});
}
我正在使用 postman 来模拟 POST 请求。
【问题讨论】:
-
从哪里调用路由?看起来您正在调用
post路由来获取get路由资源。所以,它给你带来了问题。 -
@Paladin 我正在使用 Postman (chrome pulgin) 通过 POST 请求访问 localhost/api
-
那么,您在访问您的 api 路由时是否进行了身份验证?因为它使用
api中间件。你也可以发布你的错误截图。 -
@Paladin 感谢您的帮助,但我想通了