I have a route in laravel that I'm trying to set up. I'm using version 5.2.45.
Here's my route.php file:
Route::group(['prefix' => 'api/v1'], function () {
Route::resource('prayer', 'PrayerController', [
'except' => ['edit', 'create']
]);
Route::resource('prayer/list', 'ListController', [
'only' => ['store', 'destroy']
]);
Route::post('user', [
'uses' => 'AuthController@store'
]);
Route::post('user/signin', [
'uses' => 'AuthController@signin'
]);
});
Here's my AuthController.php file:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class AuthController extends Controller
{
public function store(Request $request)
{
return "Request Works!";
}
public function signin(Request $request)
{
return "It Works";
}
}
So when I go to my route: http://localhost:8000/api/v1/user I see this error:
Whoops, looks like something went wrong.
1/1 MethodNotAllowedHttpException in RouteCollection.php line 218:
in RouteCollection.php line 218
at RouteCollection->methodNotAllowed(array('POST')) in RouteCollection.php line 205
at RouteCollection->getRouteForMethods(object(Request), array('POST')) in RouteCollection.php line 158
at RouteCollection->match(object(Request)) in Router.php line 821
at Router->findRoute(object(Request)) in Router.php line 691
at Router->dispatchToRoute(object(Request)) in Router.php line 675
at Router->dispatch(object(Request)) in Kernel.php line 246
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'),
array(object(Request), object(Closure))) in Pipeline.php line 136
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Kernel.php line 132
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99
at Kernel->handle(object(Request)) in index.php line 54
at require_once('/Applications/MAMP/htdocs/rosary-api/api/public/index.php') in server.php line 21
Not sure what's going on here as all of my other routes work when I visit them in the browser. But in postman none of them actually work. I'm only starting out with Laravel so all help is truly appreciated!
You don't have a route in your route file that matches your request. So, you could do two things:
Route::get('user', [ 'uses' => 'AuthController@someMethod' ]);
And remember: a request from your browser is always GET.