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.
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 aroute
ou aurl
.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 daroute
para fazer chamadas diretamente para uma URL específica. É obrigatório fornecer aurl
ou aroute
.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.
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);
});
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.