Skip to content
This repository has been archived by the owner on Sep 21, 2023. It is now read-only.

Latest commit

 

History

History
68 lines (53 loc) · 2.94 KB

comunicando-com-a-api.md

File metadata and controls

68 lines (53 loc) · 2.94 KB

Comunicação com a API

Introdução

Nesta seção, você aprenderá como utilizar o ApiClient para realizar chamadas à API do Laravel e comunicar-se com outras APIs externas, quando necessário. Abordaremos os parâmetros disponíveis no ApiClient e como utilizá-los.

Utilizando o ApiClient

O ApiClient é uma classe que encapsula o Axios e configura automaticamente as credenciais e o token CSRF para requisições à API interna do Laravel. Ele está localizado em resources/js/src/api/@core/services/ApiClient.js.

Aqui estão os parâmetros que você pode utilizar ao chamar o ApiClient:

  • method: O método HTTP que você deseja utilizar na requisição (por exemplo, 'GET', 'POST', 'PUT', 'PATCH', 'DELETE').
  • route: O nome da rota da API interna do Laravel que você deseja acessar. É obrigatório fornecer a route ou a url.
  • routeParams: Um objeto opcional contendo os parâmetros da rota, caso a rota possua parâmetros dinâmicos.
  • url: A URL completa da API que você deseja acessar. Pode ser usada no lugar da route para fazer chamadas diretamente para uma URL específica. É obrigatório fornecer a url ou a route.
  • data: Um objeto opcional contendo os dados que você deseja enviar na requisição. Usado principalmente para métodos 'POST', 'PUT' e 'PATCH'.
  • params: Um objeto opcional contendo os parâmetros de consulta que você deseja incluir na URL da requisição.
  • headers: Um objeto opcional contendo cabeçalhos adicionais que você deseja enviar na requisição.

Exemplo de uso do ApiClient

import ApiClient from '../api/@core/services/ApiClient';

// Realizando uma requisição GET
ApiClient.request({
    method: 'get',
    route: 'api.posts',
}).then(response => {
    console.log(response.data);
}).catch(error => {
    console.error(error);
});

// Realizando uma requisição POST
ApiClient.request({
    method: 'post',
    route: 'api.posts.store',
    data: {
        title: 'New Post',
        content: 'This is a new post.',
    },
}).then(response => {
    console.log(response.data);
}).catch(error => {
    console.error(error);
});

Requisições à APIs externas

Para realizar requisições a APIs externas, você deve utilizar diretamente o axios ao invés do ApiClient. O ApiClient foi projetado para lidar com chamadas à API interna do Laravel, e não deve ser usado para chamadas a APIs externas.

import axios from 'axios';

// Realizando uma requisição GET para uma API externa
axios.get('https://api.example.com/data')
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });

Lembre-se de que ao fazer chamadas à APIs externas, você precisará lidar com a autenticação e o gerenciamento de credenciais por conta própria. Consulte a documentação da API externa específica para obter informações sobre como autenticar suas chamadas e gerenciar as credenciais necessárias.