Criando API com SYMFONY SKELETON mínimo
1º Passo: Execute o comando usando composer.
composer create-project symfony/skeleton:"7.0.*" <name_project_api>
2º Passo: Instalar as dependências do projeto.
composer require symfony/orm-pack
composer require --dev symfony/maker-bundle
composer require symfony/security-bundle
composer require symfony/serializer
3º Passo: Altere as variaveis de ambiente arquivo .env
DATABASE_URL="mysql://<root>:<password>@127.0.0.1:3306/<name_database>?serverVersion=8.0.34&charset=utf8mb4"
4º Passo: Criar as Entidades do Projeto e após a criação executar os comandos de migração e migrate para o banco de dados. Se for a entity de user você pode usar o recurso do primeiro comando.
php bin/console make:user
php bin/console make:entity <NameEntity>
php bin/console make:migration
php bin/console doctrine:migrations:migrate
5º Passo: Criar os Controllers do Projeto
php bin/console make:controller <NameController>
6º Passo: Exemplo de Controller para Retorna de dados da API usando JSON
#[Route('api/user', name: 'index.user')]
public function index(UserRepository $userRepository): JsonResponse
{
$users = $userRepository->findAll();
return $this->json($users, '200', ['Content-Type' => 'application/json'], [
'groups' => ['index.user']
]);
}
7º Passo: Altere a Entity do respectivo Controller para autorizar a exibição dos dados:
use Symfony\Component\Serializer\Annotation\Groups;
#[Groups(['index.user'])]
Por último para rodar o projeto execute o comando:
Fonte: https://symfony.com