GithubHelp home page GithubHelp logo

api-python-com-docker's Introduction

Backend

Problema

Este problema possui múltiplos objetivos. Leia todos para planejar sua rota de trabalho.

Para cumprir os próximos, finalize este antes:

  • Crie um container com uma API simples usando Flask ou FastAPI e adicione uma rota para receber requisições GET e responder com JSON. A API deverá ser acessível a partir do host .

Após cumprir o primeiro item:

  • Adicione uma rota para receber requisições POST com um endereço URL no corpo. Faça a requisição à URL e crie um log informando a data e hora da requisição, o link recebido e o estado da URL (online ou offline).
  • Valide os dados recebidos e enviados pela API com dataclasses, Pydantic ou equivalente.
  • Crie um segundo container com um banco de dados da sua preferência e armazene os eventos POST .
    • Adicione uma rota que permita coletar os eventos POST armazenados no DB a partir da data do evento.

Reposta

Passo 1

Pelo terminal, vá até o diretório do projeto e digite o comando:

powershell

docker-compose up --build

Após finalizado o comando o leitor deverá ver o seguinte resultado no docker:

Imagem da primeira montagem

Passo 2

Para a mais fácil visualização/teste do resultado utilizo o software Postman que pode ser baixado aqui.

Após instalado, siga os seguintes passos para o teste da aplicação:

1 - Clique em new:

Imagem da segunda montagem

2 - Clique em HTTP Request:

Imagem da primeira montagem

3- No campo de preenchimento coloque a informação do endereço em que a aplicação está rodando:

Imagem da primeira montagem

Respostas

  • Crie um container com uma API simples usando Flask ou FastAPI e adicione uma rota para receber requisições GET e responder com JSON. A API deverá ser acessível a partir do host (1 pt).

Imagem da primeira montagem

  • Adicione uma rota para receber requisições POST com um endereço URL no corpo. Faça a requisição à URL e crie um log informando a data e hora da requisição, o link recebido e o estado da URL (online ou offline) (1 pt).

O leitor deverá no postman, mudar para o POST e como foi pedido a requisição-body, no postman o leitor deverá fazer os seguintes passos: params->text->raw->json

Como exemplo, temos o resultado gerado:

Imagem da primeira montagem

Caso não exista o endereço, ou o endereço estando fora do ar, temos o seguinte exemplo:

Imagem da primeira montagem

  • Valide os dados recebidos e enviados pela API com dataclasses, Pydantic ou equivalente (1 pt).
  • Crie um segundo container com um banco de dados da sua preferência e armazene os eventos POST (1pt).
    • Adicione uma rota que permita coletar os eventos POST armazenados no DB a partir da data do evento (1 pt).

Abaixo, fizemos uma request para a apliação no qual passamos um dia, e a aplicação volta todas requições posteriores a data.

Imagem da primeira montagem

FIM DA QUESTÃO

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.