Как создать api на laravel?

Пользователь

от adrien.waters , в категории: PHP , год назад

Как создать api на laravel?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от lilla.herman , год назад

@adrien.waters 

Для создания API на Laravel нужно выполнить следующие шаги:

  1. Установить Laravel, если он еще не установлен. Для этого нужно выполнить команду в консоли: composer create-project --prefer-dist laravel/laravel project_name
  2. Создать маршруты для API в файле routes/api.php. Например:
1
2
3
4
Route::get('users', 'UserController@index');
Route::post('users', 'UserController@store');
Route::put('users/{id}', 'UserController@update');
Route::delete('users/{id}', 'UserController@destroy');


  1. Создать контроллер для обработки запросов к API в папке app/Http/Controllers. Для этого нужно выполнить команду: php artisan make:controller UserController. В созданном контроллере нужно написать методы для каждого маршрута.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
namespace AppHttpControllers;

use IlluminateHttpRequest;
use AppModelsUser;

class UserController extends Controller
{
    public function index()
    {
        $users = User::all();
        return response()->json(['users' => $users]);
    }

    public function store(Request $request)
    {
        $user = new User;
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = bcrypt($request->password);
        $user->save();
        return response()->json(['user' => $user], 201);
    }

    public function update(Request $request, $id)
    {
        $user = User::find($id);
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = bcrypt($request->password);
        $user->save();
        return response()->json(['user' => $user]);
    }

    public function destroy($id)
    {
        $user = User::find($id);
        $user->delete();
        return response()->json(['message' => 'User deleted']);
    }
}


  1. Зарегистрировать созданный контроллер в файле routes/api.php.
1
2
3
4
5
6
use AppHttpControllersUserController;

Route::get('users', [UserController::class, 'index']);
Route::post('users', [UserController::class, 'store']);
Route::put('users/{id}', [UserController::class, 'update']);
Route::delete('users/{id}', [UserController::class, 'destroy']);


  1. Запустить приложение командой: php artisan serve


Теперь API доступно на адресе http://localhost:8000/api и может использоваться в других приложениях для обмена данными.