Что такое 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
После запуска этой команды мой пакет будет установлен и готов к использованию. Просто следуйте скриншоту ниже:
Когда мы закончим настройку пакета, следующим шагом будет создание модели для базы данных. Мы создадим один режим и миграцию, которая будет подключаться к прямой базе данных,
файл 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' => 'дата-время',
];
}
Теперь нам нужно создать один контроллер, поэтому используйте эту команду для создания контроллера.

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 с кодом состояния.
Для 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, 'Пользователь успешно создан');
}
}
Этот файл маршрута:
Наконец, чтобы запустить проект, нам нужно запустить эту команду:
php ремесленник служить
Подведение итогов
API обеспечивают работу многих самых популярных сегодня веб-сайтов и сервисов, от социальных сетей до финансовых приложений. В этом блоге вы познакомились с REST API в Laravel. Мы надеемся, что это заложило основу для вашего понимания того, что такое REST API и как оно работает.
Если вы ищете услуги веб-разработки, вам не нужно искать дальше. В webdew вы сможете найти активную команду опытных веб-дизайнеров и разработчиков для разработки и создания вашего бизнес-сайта. Свяжитесь с нами, чтобы узнать больше.