Como integrar e consumir uma API em Laravel (guia passo a passo)

APIs (interfaces de programação de aplicativos) são essenciais para aplicativos da Web modernos, permitindo a comunicação entre serviços e sistemas. Em Laravel, o consumo de uma API externa é direto graças ao seu cliente HTTP integrado, introduzido no Laravel 7. Este guia mostrará como integrar e consumir uma API em Laravel passo a passo com as melhores práticas. Pré-requisitos Antes de começarmos, certifique-se de ter: Php 8+ Instalado Laravel 9 ou compositor instalado mais recente Conhecimento básico instalado de rotas de Laravel, controladores e variáveis ​​de ambiente 1. Configure seu projeto Laravel se você ainda não tem um projeto de base de maiúscreen de maivelans, crie um projentador de laravel de forma completa, a base de maiveldreen, a integração da base, a base de regra de que o compositor de setor de laravelas se baseia em forma de base, o Modo de Laraveleen Intescrereen Intescretr-SetScSl. Modo de tela completa Sair do modo de tela cheia 2. Configure credenciais da API em .env armazenando dados confidenciais em .env garante que suas chaves não sejam codificadas na sua base de código. Exemplo (usando uma API de espaço reservado): api_base_url = api_key = your_api_key_here Digite o modo de tela cheia de tela cheia Modo 3. Crie uma classe de serviço API Service A Classe mantém a lógica da API limpa e reutilizável. Execução: PHP Artisan Make: Service ApitorService Digite Modo de tela Full Salt Mode use iluminado \ support \ fachades \ http; classe ApiseService {protegido $ baseurl; $ apikey protegido; função pública __construct () {$ this-> baseurl = config (‘Services.api.base_url’); $ this-> apikey = config (‘serviços.api.key’); } função pública getPosts () {$ Response = http :: withheaders ([
‘Authorization’ => ‘Bearer ‘ . $this->apiKey,
‘Accept’ => ‘application/json’,
])-> get ($ this-> Baseurl. ‘/Posts’); retornar $ resposta-> json (); }} Digite o modo de saída da tela completa 4 Modo 4. Adicionar configuração na configuração/serviços.php para carregar valores .env, adicione isso: ‘API’ => [
‘base_url’ => env(‘API_BASE_URL’),
‘key’ => env(‘API_KEY’),
]Digite o modo de saída do modo de tela cheia 5. Crie um controlador agora, vamos consumir o serviço de um controlador. PHP Artisan Make: Controller Apicontroller Digite Modo de tela cheia EXIT Modo de tela cheia Editar app/http/controladores/apicontroller.php: namespace app \ http \ controladores; Use App \ Services \ Apiservice; classe apicontroller estende o controlador {protegido $ apiservice; Função pública __construct (APISERVICE $ APISERVICE) {$ this-> Apiservice = $ APISERVICE; } Public Function Index () {$ posts = $ this-> Apiservice-> getPosts (); resposta de retorno ()-> json ($ posts); }} Digite o modo de saída de tela cheia 6. Adicione uma rota em rotas/web.php ou rotas/api.php: use app \ http \ controllers \ apicontroller; Rota :: get (‘/posts’, [ApiController::class, ‘index’]); Digite o modo de saída de tela cheia de tela cheia 7. Teste o ponto final Iniciar seu servidor: PHP ARTISAN SERVIÇÃO Digite Modo de tela cheia Modo de tela cheia Visite: Digite o modo de saída do modo de tela completa Você deve ver os dados JSON da API. 8. Manuseio de erros (opcional, mas recomendado) Enrole sua chamada de API com manuseio de erros: função pública getPosts () {try {$ Response = http :: timeout (10)-> get ($ this-> base. ‘/Posts’); if ($ resposta-> bem-sucedido ()) {return $ resposta-> json (); } retornar [‘error’ => ‘Failed to fetch posts.’]; } catch (\ Exception $ e) {return [‘error’ => $e->getMessage()]; }} Digite o modo de saída de tela cheia do modo de tela cheia 9. Dicas e práticas recomendadas Use uma camada de serviço: mantém seu código limpo e reutilizável. Armazene as credenciais em .env: Nunca Use o cliente HTTP da Laravel: simplifica as chamadas da API. Respostas do cache: para APIs com dados estáticos, respostas de cache usando cache :: lembre -se (). Lidar com falhas graciosamente: sempre antecipe erros de rede ou API. Exemplo: consumindo uma API meteorológica para buscar dados climáticos, basta adicionar outro método no Apiservice: Public Function GetWeather ($ City) {$ Response = http :: get ($ this-> base. ‘/Weather’, [
‘q’ => $city,
‘appid’ => $this->apiKey,
]); retornar $ resposta-> json (); } Digite o modo de tela completa Sair do modo FullScreen Pensamentos finais O cliente http interno da Laravel tornou a integração da API uma brisa. Seguindo estas etapas – configurando variáveis ​​de ambiente, criando uma aula de serviço e criando rotas – você pode consumir quase qualquer API REST de maneira limpa e escalável.

Fonte

Você pode ter perdido