简体   繁体   中英

How to call an Api Controller from API route in laravel?

I have installed jwt authentication & I have created a controller ie, AuthController Inside Api Directory. I have defined the in routes/api.php as:

Route::group(['prefix'=>'v1', 'namespace' => 'Api'],function($app){
    Route::get('/test', function(){
        return "HEllo";
    });
    Route::get('test',              'AuthController@test');
});

When I hit the url as: http://localhost:8000/api/v1/test then I am getting error as Class Cotrollers\Api\AuthController does not exist.

AuthController

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class AuthController extends Controller
{


    public function test() {
        return "Hello";
    }
}

RouteServiceProvider.php:

Route::prefix('api')
    // ->middleware('api')
    // ->namespace($this->namespace) ->group(base_path('routes/api.php'));

I have installed jwt authentication & I have created a controller ie, AuthController Inside Api Directory. I have defined the in routes/api.php as:

Route::group(['prefix'=>'v1', 'namespace' => 'Api'],function($app){
    Route::get('/test', function(){
        return "HEllo";
    });
    Route::get('test',              'AuthController@test');
});

When I hit the url as: http://localhost:8000/api/v1/test then I am getting error as Class Cotrollers\\Api\\AuthController does not exist.

AuthController

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class AuthController extends Controller
{


    public function test() {
        return "Hello";
    }
}

RouteServiceProvider.php:

Route::prefix('api')
    // ->middleware('api')
    // ->namespace($this->namespace) ->group(base_path('routes/api.php'));

I have installed jwt authentication & I have created a controller ie, AuthController Inside Api Directory. I have defined the in routes/api.php as:

Route::group(['prefix'=>'v1', 'namespace' => 'Api'],function($app){
    Route::get('/test', function(){
        return "HEllo";
    });
    Route::get('test',              'AuthController@test');
});

When I hit the url as: http://localhost:8000/api/v1/test then I am getting error as Class Cotrollers\\Api\\AuthController does not exist.

AuthController

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class AuthController extends Controller
{


    public function test() {
        return "Hello";
    }
}

RouteServiceProvider.php:

Route::prefix('api')
    // ->middleware('api')
    // ->namespace($this->namespace) ->group(base_path('routes/api.php'));

I have installed jwt authentication & I have created a controller ie, AuthController Inside Api Directory. I have defined the in routes/api.php as:

Route::group(['prefix'=>'v1', 'namespace' => 'Api'],function($app){
    Route::get('/test', function(){
        return "HEllo";
    });
    Route::get('test',              'AuthController@test');
});

When I hit the url as: http://localhost:8000/api/v1/test then I am getting error as Class Cotrollers\\Api\\AuthController does not exist.

AuthController

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class AuthController extends Controller
{


    public function test() {
        return "Hello";
    }
}

RouteServiceProvider.php:

Route::prefix('api')
    // ->middleware('api')
    // ->namespace($this->namespace) ->group(base_path('routes/api.php'));

Check your controller namespace

<?php

 namespace App\Http\Controllers\Api;

 use Illuminate\Http\Request;
 use App\Http\Controllers\Controller;

 class AuthController extends Controller
 {


     public function test() {
          return "Hello";
     }
 }

I have installed jwt authentication & I have created a controller ie, AuthController Inside Api Directory. I have defined the in routes/api.php as:

Route::group(['prefix'=>'v1', 'namespace' => 'Api'],function($app){
    Route::get('/test', function(){
        return "HEllo";
    });
    Route::get('test',              'AuthController@test');
});

When I hit the url as: http://localhost:8000/api/v1/test then I am getting error as Class Cotrollers\\Api\\AuthController does not exist.

AuthController

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class AuthController extends Controller
{


    public function test() {
        return "Hello";
    }
}

RouteServiceProvider.php:

Route::prefix('api')
    // ->middleware('api')
    // ->namespace($this->namespace) ->group(base_path('routes/api.php'));
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AuthController;

// you need to use your controller top of the api.php file

    Route::group([
        'namespace' => 'Customers', //namespace App\Http\Controllers\Customers;
        'middleware' => 'auth:api', // this is for check user is logged in or authenticated user
        'prefix' => 'customers' // you can use custom prefix for your rote {{host}}/api/customers/
    
    ], function ($router) {
        // add and delete customer groups
        Route::get('/', [CustomerController::class, 'index']); // {{host}}/api/customers/  this is called to index method in CustomerController.php
        Route::post('/create', [CustomerController::class, 'create']); // {{host}}/api/customers/create this is called to create method in CustomerController.php
        Route::post('/show/{id}', [CustomerController::class, 'show']); // {{host}}/api/customers/show/10 this is called to show method in CustomerController.php parsing id to get single data
        Route::post('/delete/{id}', [CustomerController::class, 'delete']); // {{host}}/api/customers/delete/10 this is called to delete method in CustomerController.php for delete single data
    });

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM