Qué es la API REST en laravel: Todo lo que necesitas saber
Publicado: 2022-11-03El mundo se está volcando por completo hacia la facilidad de usar dispositivos móviles y buscar soluciones en línea. El diseño web y el desarrollo web están progresando de forma masiva en el mundo actual.
La mayor parte de la demanda se ha dirigido a los teléfonos inteligentes, ya que el desarrollo de sitios web también abarca el desarrollo de aplicaciones móviles. Dicho esto, para las aplicaciones móviles, el backend requiere una API tranquila.
Si no sabe qué es REST API, ¡está bien! Te tenemos cubierto.
En este blog, explicaré qué es la API de descanso y cómo funciona. También explicaré cómo desarrollar una API tranquila en Laravel.
Empecemos…
¿Qué es la API REST?
APi es una interfaz de programación de aplicaciones, que nos ayuda a conectar un dispositivo a otro dispositivo, por ejemplo, cónyuge, tenemos un sitio web en vivo y ahora queremos crear una aplicación móvil, por lo que crearemos una API para conectar los datos al dispositivo, tenemos que usar JSON datos para pasar en el dispositivo para que esto pueda hacerse solo con API.
A veces, se necesita una API REST de comunicación de red o una API de transferencia de estado representacional.
¿Como funciona?
Al principio, tenemos que instalar la aplicación laravel en nuestro sistema para poder seguir la documentación oficial de laravel que nos ayudará a avanzar más. Aquí está el enlace del documento que se puede seguir para instalar la aplicación laravel:
http://laravel.com/
Para instalar la aplicación, use este comando, pero asegúrese de tener Composer en su sistema, ya que Composer es una herramienta de dependencia que ayuda a instalar todas las dependencias en la aplicación, puede seguir este enlace:
https://getcomposer.org/download/
Una vez que instale Composer, puede descargar Laravel, use este comando:
compositor create-project --prefer-dist laravel/laravel laravel-sanctum-auth
Una vez que se instala el proyecto, debe configurar los detalles de la base de datos en el archivo .ENV, así que simplemente complete el nombre de su base de datos en el archivo ENV.
El siguiente paso es instalar el paquete API. Hay muchos paquetes disponibles, pero puede instalarlos según su elección.
Entonces, para instalar el paquete, debe seguir el comando según se indica en la documentación de laravel. Como voy a usar Sanctum, usaré este comando:
el compositor requiere laravel/sanctum
Después de ejecutar este comando, mi paquete se instalará y estará listo para usar. Simplemente siga la captura de pantalla a continuación:
Una vez que hayamos terminado con la configuración del paquete, el siguiente paso es crear un modelo para la base de datos. Crearemos un modo y migración que se conectará a la base de datos directa,
archivo app/Modelos/Usuario.php.
<?php
espacio de nombres App\Modelos;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
utilice Illuminate\Foundation\Auth\User como autenticación;
utilice Illuminate\Notifications\Notificable;
// santuario
usa Laravel\Sanctum\HasApiTokens;
clase Usuario extiende Autenticable
{
use HasApiTokens, HasFactory, Notificable;
/**
* Los atributos que son asignables en masa.
*
* Matriz @var
*/
protegido $rellenable = [
'nombre',
'Email',
'clave',
];
/**
* Los atributos que deben ocultarse para las matrices.
*
* Matriz @var
*/
protegido $ oculto = [
'clave',
'token_recordar',
];
/**
* Los atributos que se deben convertir a los tipos nativos.
*
* Matriz @var
*/
$emisiones protegidas = [
'email_verified_at' => 'fechahora',
];
}
Ahora tenemos que crear un controlador, así que use este comando para crear un controlador

PHP craft make::controller NOMBRE DEL CONTROLADOR
archivo app/Http/Controllers/API/BaseController.php:
<?php
espacio de nombres App\Http\Controllers\API;
utilice Illuminate\Http\Request;
use App\Http\Controllers\Controller como controlador;
clase BaseController extiende controlador
{
/**
* método de respuesta de éxito.
*
* @return \Illuminate\Http\Respuesta
*/
función pública enviarRespuesta($resultado, $mensaje)
{
$respuesta = [
'éxito' => verdadero,
'datos' => $resultado,
'mensaje' => $mensaje,
];
devolver respuesta()->json($respuesta, 200);
}
/**
* respuesta de error de retorno.
*
* @return \Illuminate\Http\Respuesta
*/
función pública sendError($error, $errorMessages = [], $code = 404)
{
$respuesta = [
'éxito' => falso,
'mensaje' => $error,
];
if(!empty($errorMensajes)){
$respuesta['datos'] = $mensajes de error;
}
devolver respuesta()->json($respuesta, $código);
}
}
Tenga en cuenta: cada vez que creamos una API, siempre enviamos una respuesta en JSON con un código de estado.
Para la API, siempre creamos un token de autenticación. Significa que si se creará y verificará el token, entonces podremos autenticar a los usuarios.
<?php
espacio de nombres App\Http\Controllers\API;
utilice Illuminate\Http\Request;
use App\Http\Controllers\API\BaseController como BaseController;
use Illuminate\Support\Facades\Auth;
usar Validador;
use Aplicación\Modelos\Usuario;
clase AuthController extiende BaseController
{
inicio de sesión de función pública (Solicitud $ solicitud)
{
if(Auth::attempt(['email' => $solicitud->email, 'contraseña' => $solicitud->contraseña])){
$authUser = Autenticación::usuario();
$éxito['token'] = $authUser->createToken('MyAuthApp')->plainTextToken;
$éxito['nombre'] = $authUser->nombre;
return $this->sendResponse($success, 'Usuario registrado');
}
más{
return $this->sendError('No autorizado.', ['error'=>'No autorizado']);
}
}
registro de función pública (Solicitud $ solicitud)
{
$validator = Validator::make($request->all(), [
'nombre' => 'requerido',
'correo' => 'obligatorio|correo',
'contraseña' => 'requerido',
'confirm_password' => 'obligatorio|igual:contraseña',
]);
if($validador->falla()){
return $this->sendError('Error de validación', $validator->errors());
}
$entrada = $solicitud->todos();
$entrada['contraseña'] = bcrypt($entrada['contraseña']);
$usuario = Usuario::crear($entrada);
$éxito['token'] = $usuario->createToken('MyAuthApp')->plainTextToken;
$éxito['nombre'] = $usuario->nombre;
return $this->sendResponse($success, 'Usuario creado con éxito');
}
}
Este archivo de ruta:
Finalmente, para ejecutar el proyecto, necesitamos ejecutar este comando:
servicio artesanal php
Terminando
Las API impulsan muchos de los sitios web y servicios más populares de la actualidad, desde redes sociales hasta aplicaciones financieras. En este blog, se le presentó la API REST en Laravel. Esperamos que esto haya sentado las bases para su comprensión de qué es la API REST y cómo funciona.
Si está buscando servicios de desarrollo web, no necesita buscar más. En webdew, podrá encontrar un equipo proactivo de diseñadores y desarrolladores web calificados para diseñar y construir el sitio web de su empresa. Contáctanos para saber más.