Что такое REST API в laravel: все, что вам нужно знать

Опубликовано: 2022-11-03

Мир полностью поворачивается к простоте использования мобильных устройств и поиску решений в Интернете. Веб-дизайн и веб-разработка в современном мире стремительно развиваются.

Большая часть спроса была обращена на смартфоны, поскольку разработка веб-сайтов также включает в себя разработку мобильных приложений. При этом для мобильных приложений серверная часть требует спокойного API.

Если вы не знаете, что такое REST API, ничего страшного! Мы вас прикрыли.

В этом блоге я объясню, что такое restful API и как он работает. Я также объясню, как разработать спокойный API в Laravel.

Давайте начнем…

Что такое REST API?

APi - это интерфейс прикладного программирования, который помогает нам подключать одно устройство к другому устройству, например, супруг, у нас есть один веб-сайт, и теперь мы хотим создать одно мобильное приложение, поэтому мы создадим API для подключения данных к устройству, мы должны использовать JSON данные для передачи в устройство, поэтому это можно сделать только с помощью API.

Иногда возникает потребность в сетевом интерфейсе REST API или API передачи репрезентативного состояния.

Как это работает?

Сначала мы должны установить приложение laravel в нашу систему, чтобы мы могли следовать официальной документации laravel, которая поможет нам двигаться дальше. Вот ссылка на документ, по которому можно установить приложение laravel:

http://laravel.com/

Чтобы установить приложение, используйте эту команду, но убедитесь, что в вашей системе должен быть установлен композитор, так как композитор — это инструмент зависимостей, который помогает установить все зависимости в приложении, вы можете перейти по этой ссылке:

https://getcomposer.org/download/

После установки композитора вы можете скачать laravel, используя эту команду:

композитор создать проект --prefer-dist laravel/laravel laravel-sanctum-auth

После установки проекта необходимо указать данные базы данных в файле .ENV, поэтому просто заполните имя базы данных в файле ENV.

Как это работает Следующим шагом будет установка пакета API. Доступно много пакетов, но вы можете установить их по своему выбору.

Итак, чтобы установить пакет, вы должны выполнить команду, указанную в документации laravel. Поскольку я собираюсь использовать Sanctum, я буду использовать эту команду:

композитору требуется laravel/sanctum

  После запуска этой команды мой пакет будет установлен и готов к использованию. Просто следуйте скриншоту ниже: Как это работает 2

Когда мы закончим настройку пакета, следующим шагом будет создание модели для базы данных. Мы создадим один режим и миграцию, которая будет подключаться к прямой базе данных,

файл app/Models/User.php.

<?php

пространство имен App\Models;

используйте Illuminate\Contracts\Auth\MustVerifyEmail;

используйте Illuminate\Database\Eloquent\Factory\HasFactory;

используйте Illuminate\Foundation\Auth\User как Authenticatable;

используйте Иллюминате\Уведомления\Уведомляемые;

// святилище

используйте Laravel\Sanctum\HasApiTokens;

класс Пользователь расширяет аутентифицируемый

{

использовать HasApiTokens, HasFactory, NotABLE;

 

/**

* Массово назначаемые атрибуты.

*

* массив @var

*/

защищенный $fillable = [

'имя',

'Эл. адрес',

'пароль',

];

 

/**

* Атрибуты, которые должны быть скрыты для массивов.

*

* массив @var

*/

защищенный $ скрытый = [

'пароль',

'запомнить_токен',

];

 

/**

* Атрибуты, которые должны быть приведены к родным типам.

*

* массив @var

*/

защищенные $casts = [

'email_verified_at' => 'дата-время',

];

}

Как это работает 3

  Теперь нам нужно создать один контроллер, поэтому используйте эту команду для создания контроллера.

Php artisan make::controller ИМЯ КОНТРОЛЛЕРА

файл app/Http/Controllers/API/BaseController.php:

<?php



пространство имен App\Http\Controllers\API;

используйте Illuminate\Http\Request;

используйте App\Http\Controllers\Controller в качестве контроллера;



класс BaseController расширяет контроллер

{

/**

* метод успешного ответа.

*

* @return\Illuminate\Http\Response

*/

публичная функция sendResponse($result, $message)

{

$ ответ = [

'успех' => правда,

'данные' => $результат,

'сообщение' => $сообщение,

];

 

вернуть ответ () -> json ($ ответ, 200);

}



/**

* вернуть ответ об ошибке.

*

* @return\Illuminate\Http\Response

*/

публичная функция sendError($error, $errorMessages = [], $code = 404)

{

$ ответ = [

'успех' => ложь,

'сообщение' => $ ошибка,

];

 

если(!пусто($errorMessages)){

$response['data'] = $errorMessages;

}

 

вернуть ответ () -> json ($ ответ, $ код);

}

}

Обратите внимание: всякий раз, когда мы создаем API, мы всегда отправляем ответ в формате JSON с кодом состояния.

Как это работает 4

Для API мы всегда создаем токен авторизации. Это означает, что если токен будет создан и проверен, мы сможем аутентифицировать пользователей.

<?php

пространство имен App\Http\Controllers\API;

используйте Illuminate\Http\Request;

используйте App\Http\Controllers\API\BaseController в качестве BaseController;

используйте Illuminate\Support\Facades\Auth;

использовать валидатор;

используйте Приложение\Модели\Пользователь;

класс AuthController расширяет BaseController

{

вход в публичную функцию (запрос $ request)

{

if(Auth::attempt(['email' => $request->email, 'password' => $request->password])){

$authUser = Auth::user();

$success['token'] = $authUser->createToken('MyAuthApp')->plainTextToken;

$success['имя'] = $authUser->имя;

return $this->sendResponse($success, 'Пользователь вошел в систему');

}

еще{

return $this->sendError('Unauthorized.', ['error'=>'Unauthorized']);

}

}

регистрация публичной функции (запрос $ request)

{

$validator = Validator::make($request->all(), [

'имя' => 'обязательно',

'электронная почта' => 'требуется|электронная почта',

'пароль' => 'обязательно',

'confirm_password' => 'требуется|тот же:пароль',

]);

если($валидатор->сбой()){

return $this->sendError('Проверка ошибок', $validator->errors());

}

$ввод = $запрос->все();

$input['пароль'] = bcrypt($input['пароль']);

$user = User::create($input);

$success['token'] = $user->createToken('MyAuthApp')->plainTextToken;

$success['имя'] = $пользователь->имя;

return $this->sendResponse($success, 'Пользователь успешно создан');

}

}

Этот файл маршрута:

Как это работает 5 Наконец, чтобы запустить проект, нам нужно запустить эту команду:

php ремесленник служить

Подведение итогов

API обеспечивают работу многих самых популярных сегодня веб-сайтов и сервисов, от социальных сетей до финансовых приложений. В этом блоге вы познакомились с REST API в Laravel. Мы надеемся, что это заложило основу для вашего понимания того, что такое REST API и как оно работает.

Если вы ищете услуги веб-разработки, вам не нужно искать дальше. В webdew вы сможете найти активную команду опытных веб-дизайнеров и разработчиков для разработки и создания вашего бизнес-сайта. Свяжитесь с нами, чтобы узнать больше.