Esta imgem contém o ambiente Django, Python e Django REST Framework preparado para execução da API
Segue abaixo os passos para deixar o ambiente pronto
Incialmente precisa-se de criar o conteiner da Base de Dados PostgresSQL com extensão PostGIS.
Toda a configuração e disponibilização da imagem pode ser encontrada neste link: here
Após configurar e fazer o depoly da Base de Dados e ter configurado um novo DATABASE conforme as instruções disponibilizadas baixado a pode-se prosseguir para os passos de incialização do conteiner que da REST API com os comanos para serem executados dentro da console do conteiner ubi_restapi
Nota: Esta imagem foi constituída com os arquivos do projeto disponibilizados via repositório no Github, que pode ser acedido neste link.
Para a incicialização do conteiner é sugerido o seguinte comando:
docker exec -it ubi_restapi /bin/bash
Caso ainda não tenha sido criado um superuser ou ainda não possua o registro na Base de dados, basta executar o comando a seguir para criar um utilizador admin, e preencher o email(caso queira) e por fim a senha:
python manage.py createsuperuser
Após a criação do superuser, basta executar os comandos de migração, que validará os ficheiros e associar com a base de dados.
python manage.py makemigrations
python manage.py migrate
E por fim iniciar o servidor, apontando o IP e porta desejados (recomenda-se utilizar 0.0.0.0:8000)
python manage.py runserver 0.0.0.0:8000
Então basta aceder este endereço em um navegador com o endpoint /, ficando da seguinte forma http://0.0.0.0:8000/
Após a configuração do ambiente que inclui a base de dados e a Django Framework, pode-se testar a REST API em si. Basta que seja acedido à URL mencionada.
Este é o endpoint principal que faz a listagem geral das ocorrências disponíveis na base da dados implementada.
Além desta, é possível realizar uma filtragem pelos seguintes parâmetros:
Neste endpoint é suportado o método:
No endpoint /create/ é possível criar uma nova nova ocorrência. Conforme foi explanado na documentação do código da REST API, disponível no link, a criação de uma nova ocorrência terá a restrição de aceitar somente os parâmetros:
Os demais parâmetros são preenchidos automaticamente, e são eles:
Após submeter (POST) uma nova ocorrência o resumo é exibido em tela (GET).
Neste endpoint são suportados os métodos:
O endpoint /detail/{id} possui a funcionalidade de exibir um endpoint específico com determinado id={id}, e além disso nesse endpoint será possível fazer edição e excluir esta ocorrência.
Há a restrição que apenas utilizadores com perfil de administrador poderão executar os métodos PUT e DELETE, para demais utilizadores será retornado código de resposta HTTP_FORBIDDEN_403.
Neste endpoint são suportados os métodos:
Por fim o endpoint /order/ permite que as ocorrências disponíveis sejam ordenadas pelos parâmetros;
Nota: A ordenação a partir da localização deverá ser feita a partir da distância geográfica, porém tal funcionalidade ainda não foi implementada. Neste endpoint são suportados os métodos:
Content type
Image
Digest
Size
464.8 MB
Last updated
over 6 years ago
docker pull igorvirgilio/ubi_restapi:v4