Api routing

設定 routing

routes\api.php

Route::group(['prefix' => 'v1'], function () {
    Route::get('user', 'Api\v1\UserController@index');
    Route::get('user/{id}', 'Api\v1\UserController@show');
});

Route::group(['prefix' => 'v2'], function () {
    Route::get('user', 'Api\v2\UserController@index');
    Route::get('user/{id}', 'Api\v2\UserController@show');
});

建立 controller

$ php artisan make:controller Api\v1\UserController
$ php artisan make:controller Api\v2\UserController
  • v1

app\Http\Controllers\Api\v1\UserController.php

namespace App\Http\Controllers\Api\v1;

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

class UserController extends Controller
{
    public function index()
    {
        return response()->json([
            'namespace' => 'App\Http\Controllers\Api\v1',
            'function' => 'index',
        ], 200);
    }

    public function show($userId)
    {
        return response()->json([
            'namespace' => 'App\Http\Controllers\Api\v1',
            'function' => 'show',
            'userId' => $userId,
        ], 200);
    }
}
  • 回應結果

http://localhost:8000/api/v1/user

http://localhost:8000/api/v1/user/50


  • v2

app\Http\Controllers\Api\v2\UserController.php

namespace App\Http\Controllers\Api\v2;

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

class UserController extends Controller
{
    public function index()
    {
        return response()->json([
            'namespace' => 'App\Http\Controllers\Api\v2',
            'function' => 'index',
        ], 200);
    }

    public function show($userId)
    {
        return response()->json([
            'namespace' => 'App\Http\Controllers\Api\v2',
            'function' => 'show',
            'userId' => $userId,
        ], 200);
    }
}
  • 回應結果

http://localhost:8000/api/v2/user

http://localhost:8000/api/v2/user/50

Docs

參考來源

results matching ""

    No results matching ""