Uma simples API de CRUD de carros, minha motivação para o desenvolvimento dessa simples API, é relembrar conceitos que tive contato já há algum tempo, tem como maior finalidade me ajudar a relembrar de um modo prático, alguns conceitos sobre API(s) e o Laravel.
Para conseguir testar o sistema são necessarios os seguintes requisitos
- PHP 8 ou superior
- Composer
- Mysql
- Git
- Realizar o clone do repositório.
- Com o composer devidamente instalado, executar os comandos:
composer install
composer update
- Localizar o arquivo .env.exemplo, copiar o mesmo retirando o ".exemplo", ficando apenas ".env". nesse arquivo deverá ser configurado de acordo com os dados do seu sistema, OBS: você deverá criar os bancos de dados e informalos no .env, as migrações irão criar apenas as tabelas.
- Rodar as migrations, factorys e seeders, com o comando:
php artisan migrate --seed
- Subir o servidor (pode ser o de sua preferencia), no caso estou usando o serve integrado para teste do php 8.
php artisan serve
- (opcional) Caso deseje realizar os testes, crie um arquivo .env.testing, e passe as configurações (como porta, nome do banco...), IMPORTANTE: os testes então configurados para limpar os dados após cada sequencia de teste, assim se não cria um novo banco com o novo .env, todos os dados serão perdidos..
- (opcional) Executar os comando
php artisan --env=testing migrate
Caso tenha algum erro, tente executar os comandos abaixo e repetir o comando acima:
php artisan cache:clear
php artisan config:cache
- (opcional) em uma nova aba/terminal execultar os testes com o comando:
Método | EndPoint | Descrição | Parametros | Body |
---|---|---|---|---|
GET | /api/carros | Retorna todos os veiculos | Page=[número] | N/A |
GET | /api/carros/{ID} | Retorna o veículo especificado | N/A | N/A |
POST | /api/carros | Cadastra um novo veículo | N/A | Json{modelo, ano, placa, cor, montadora} |
DELETE | /api/carros/{ID} | Remove o veículo especificado | N/A | N/A |
PUT | /api/carros/{ID} | Atualiaza o veículo especificado | N/A | Json{modelo, ano, placa, cor, montadora} |
- Rotas
- MVC
- Factory
- Seedeer
- Resource
- Testes