(16) 981791110 contato@policast.studio

O que é API?

API (Application Programming Interface) é uma interface que possibilita a comunicação entre diferentes sistemas ou aplicações, permitindo que um aplicativo acesse ou utilize os recursos de outro.

Como criar uma API no Symfony?

Antes de criar a API, é necessário verificar se os recursos que serão oferecidos por ela já estão disponíveis em seu sistema. O próximo passo é criar um controller para a API, que será responsável por receber as requisições e redirecioná-las para o serviço adequado.

Um exemplo de controller para uma API é:


namespace AppControllerApi;

use SymfonyComponentHttpFoundationJsonResponse;
use SymfonyComponentRoutingAnnotationRoute;
use SymfonyBundleFrameworkBundleControllerAbstractController;

class ExemploController extends AbstractController
{
/**
* @Route("/api/exemplo", name="api_exemplo", methods={"GET"})
*/
public function exemplo()
{
$mensagem = "Exemplo de resposta da API";
return new JsonResponse(['mensagem' => $mensagem]);
}
}

Neste exemplo, é criada uma API que retorna uma mensagem específica na rota “/api/exemplo”. Ao ser acessada, a API retorna um objeto JSON com a mensagem.

Como consumir uma API no Symfony?

Para consumir uma API em seu sistema Symfony, é necessário enviar uma requisição HTTP para a rota da API. Isso pode ser feito através de uma biblioteca como o Guzzle, que possibilita o envio de requisições HTTP em PHP.

Segue um exemplo de como consumir a API criada no exemplo anterior:


$client = new GuzzleHttpClient();
$resposta = $client->request('GET', 'http://localhost:8000/api/exemplo');

$jsonResposta = json_decode($resposta->getBody(), true);

echo $resposta['mensagem'];

Neste exemplo, é criado uma requisição HTTP do tipo GET para a rota “http://localhost:8000/api/exemplo”. Em seguida, é feita a decodificação do objeto JSON recebido, e a mensagem é exibida na página.

Conclusão

Trabalhar com APIs no Symfony pode ser uma tarefa relativamente simples, desde que sejam seguidas as boas práticas de programação e organização de código. É importante também estar familiarizado com o protocolo HTTP e com as bibliotecas que possibilitam o envio de requisições e leitura de respostas HTTP.