O que é a API REST em laravel: tudo o que você precisa saber
Publicados: 2022-11-03O mundo está se voltando completamente para a facilidade de usar dispositivos móveis e buscar soluções online. Web design e desenvolvimento web estão progredindo em grande escala no mundo de hoje.
A maior parte da demanda foi voltada para smartphones, pois o desenvolvimento de sites também abrange o desenvolvimento de aplicativos móveis. Dito isto, para aplicativos móveis, o back-end exige uma API tranquila.
Se você não sabe o que é API REST, tudo bem! Estamos protegendo você.
Neste blog, explicarei o que é uma API repousante e como ela funciona. Também explicarei como desenvolver uma API restful em Laravel.
Vamos começar…
O que é a API REST?
APi é uma interface de programação de aplicativos, que nos ajuda a conectar um dispositivo a outro dispositivo, por exemplo, cônjuge, temos um site ao vivo e agora queremos construir um aplicativo móvel para criar uma API para conectar dados ao dispositivo, temos que usar JSON dados para passar no dispositivo para que isso possa ser feito apenas com a API.
Às vezes, há a necessidade de uma API de comunicação de rede REST ou API de Transferência de Estado Representacional.
Como funciona?
No início, temos que instalar o aplicativo laravel em nosso sistema para que possamos seguir a documentação oficial do laravel que nos ajudará a avançar. Aqui está o link do documento que pode ser seguido para instalar o aplicativo laravel:
http://laravel.com/
Para instalar o aplicativo, use este comando, mas certifique-se de ter o compositor em seu sistema, pois o compositor é uma ferramenta de dependência que ajuda a instalar todas as dependências no aplicativo, você pode seguir este link:
https://getcomposer.org/download/
Depois de instalar o composer, você pode baixar o laravel , use este comando:
compositor criar-projeto --prefer-dist laravel/laravel laravel-sanctum-auth
Uma vez que o projeto é instalado, é necessário definir os detalhes do banco de dados no arquivo .ENV, então basta preencher seu banco de dados nane no arquivo ENV.
O próximo passo é instalar o pacote de API. Existem muitos pacotes disponíveis, mas você pode instalar conforme sua escolha.
Portanto, para instalar o pacote, você deve seguir o comando conforme fornecido na documentação do laravel. Como vou usar o Sanctum, vou usar este comando:
compositor requer laravel/sanctum
Depois de executar este comando, meu pacote será instalado e estará pronto para uso. Basta seguir a captura de tela abaixo:
Assim que terminarmos a configuração do pacote, o próximo passo é criar o modelo para o banco de dados. Vamos criar um modo e migração que se conectará ao banco de dados direto,
arquivo app/Models/User.php.
<?php
namespace App\Models;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User como Autenticável;
use Iluminar\Notificações\Notificável;
// santuário
use Laravel\Sanctum\HasApiTokens;
class User estende Autenticável
{
use HasApiTokens, HasFactory, Notificável;
/**
* Os atributos que podem ser atribuídos em massa.
*
* @var array
*/
protegido $preenchível = [
'nome',
'o email',
'senha',
];
/**
* Os atributos que devem ser ocultados para arrays.
*
* @var array
*/
protegido $ oculto = [
'senha',
'lembrar_token',
];
/**
* Os atributos que devem ser convertidos em tipos nativos.
*
* @var array
*/
$casts protegidos = [
'email_verified_at' => 'datahora',
];
}
Agora temos que criar um controlador, então use este comando para criar o controlador

PHP artesão make::controller NOME DO CONTROLADOR
arquivo app/Http/Controllers/API/BaseController.php:
<?php
namespace App\Http\Controllers\API;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller como Controlador;
classe BaseController estende Controller
{
/**
* método de resposta de sucesso.
*
* @return \Illuminate\Http\Response
*/
função pública sendResponse($resultado, $mensagem)
{
$resposta = [
'sucesso' => verdadeiro,
'dados' => $resultado,
'mensagem' => $mensagem,
];
return resposta()->json($resposta, 200);
}
/**
* retorno de resposta de erro.
*
* @return \Illuminate\Http\Response
*/
função pública sendError($error, $errorMessages = [], $code = 404)
{
$resposta = [
'sucesso' => falso,
'mensagem' => $erro,
];
if(!empty($errorMessages)){
$resposta['data'] = $errorMessages;
}
return resposta()->json($resposta, $código);
}
}
Atenção: Sempre que criamos API, sempre enviamos resposta em JSON com código de status.
Para API, sempre criamos token de autenticação. Isso significa que se o token for criado e verificado, podemos autenticar os usuários.
<?php
namespace App\Http\Controllers\API;
use Illuminate\Http\Request;
use App\Http\Controllers\API\BaseController como BaseController;
use Illuminate\Support\Facades\Auth;
usar Validador;
use Aplicativo\Modelos\Usuário;
classe AuthController estende BaseController
{
função pública signin(Request $request)
{
if(Auth::attempt(['email' => $request->email, 'password' => $request->password])){
$authUser = Auth::user();
$sucesso['token'] = $authUser->createToken('MyAuthApp')->plainTextToken;
$sucesso['nome'] = $authUser->nome;
return $this->sendResponse($success, 'Usuário conectado');
}
senão{
return $this->sendError('Não autorizado.', ['error'=>'Não autorizado']);
}
}
inscrição de função pública (Request $ request)
{
$validador = Validator::make($request->all(), [
'nome' => 'obrigatório',
'e-mail' => 'obrigatório|e-mail',
'senha' => 'obrigatório',
'confirm_password' => 'obrigatório|mesmo:senha',
]);
if($validador->falha()){
return $this->sendError('Validação de erro', $validator->errors());
}
$input = $request->all();
$input['password'] = bcrypt($input['password']);
$usuário = Usuário::criar($entrada);
$sucesso['token'] = $user->createToken('MyAuthApp')->plainTextToken;
$sucesso['nome'] = $usuário->nome;
return $this->sendResponse($success, 'Usuário criado com sucesso.');
}
}
Este arquivo de rota:
Por fim, para executar o projeto, precisamos executar este comando:
php artesão servir
Empacotando
As APIs alimentam muitos dos sites e serviços mais populares da atualidade, de redes sociais a aplicativos financeiros. Neste blog, você foi apresentado à API REST em Laravel. Esperamos que isso tenha estabelecido uma base para sua compreensão do que é a API REST e como ela funciona.
Se você estiver procurando por serviços de desenvolvimento web, não precisa procurar mais. Na webdew, você poderá encontrar uma equipe proativa de web designers e desenvolvedores qualificados para projetar e construir seu site de negócios. Contate-nos para saber mais.