Skip to main content

Uma calculadora básica com FastAPI

Project description

API Calculadora

Esta é uma API simples de calculadora construída usando FastAPI. A API fornece endpoints para realizar operações aritméticas básicas, como adição, subtração, multiplicação e divisão.

Funcionalidades

  • Realizar operações aritméticas básicas:
    • Adição
    • Subtração
    • Multiplicação
    • Divisão
    • Fatorial
    • Exponencial
    • Raiz Quadrada
  • Validação de entrada usando modelos do Pydantic.
  • Lida com divisão por zero de forma adequada, com mensagens de erro apropriadas.

Requisitos

  • Python 3.9 ou superior
  • Dependências listadas no arquivo requirements.txt:
    • fastapi==0.95.2
    • pydantic==1.10.7
    • uvicorn==0.22.0

Instalação

  1. Clone o repositório:

    git clone https://github.com/your-username/calculadora-fastapi.git
    cd calculadora-fastapi
    
  2. Crie um ambiente virtual e ative-o:

    python -m venv venv
    source venv/bin/activate  # No Windows: venv\Scripts\activate
    
  3. Instale as dependências:

    pip install -r requirements.txt
    

Executando a Aplicação

  1. Inicie o servidor FastAPI usando o Uvicorn:

    uvicorn app.main:app --reload
    
  2. Abra o navegador e navegue para:

    http://127.0.0.1:8000/docs
    

    Isso abrirá a documentação interativa da API (Swagger UI).

Endpoints da API

1. Adição

  • Endpoint: /add
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 5,
      "b": 3
    }
    
  • Resposta:
    {
      "result": 8
    }
    

2. Subtração

  • Endpoint: /subtract
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 5,
      "b": 3
    }
    
  • Resposta:
    {
      "result": 2
    }
    

3. Multiplicação

  • Endpoint: /multiply
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 5,
      "b": 3
    }
    
  • Resposta:
    {
      "result": 15
    }
    

4. Divisão

  • Endpoint: /divide
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 6,
      "b": 3
    }
    
  • Resposta:
    {
      "result": 2
    }
    
  • Tratamento de Erros:
    • Se b for 0, a API retornará:
      {
        "detail": "Division by zero is not allowed"
      }
      

5. Raiz Quadrada

  • Endpoint: /sqrt
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 9
    }
    
  • Resposta:
    {
      "result": 3
    }
    
  • Tratamento de Erros:
    • Se a for menor que 0, a API retornará:
      {
        "detail": "A raiz quadrada de um número negativo não é real."
      }
      

6. Exponencial

  • Endpoint: /exponent
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 2,
      "b": 4
    }
    
  • Resposta:
    {
      "result": 16
    }
    

7. Fatorial

  • Endpoint: /factorial
  • Método: POST
  • Corpo da Requisição:
    {
      "a": 5
    }
    
  • Resposta:
    {
      "result": 120
    }
    

Agradecimentos

  • Construído com FastAPI
  • Inspirado na simplicidade do Python para construir APIs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

calculadora_manuesy_api-0.1.1.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

calculadora_manuesy_api-0.1.1-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

Details for the file calculadora_manuesy_api-0.1.1.tar.gz.

File metadata

  • Download URL: calculadora_manuesy_api-0.1.1.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for calculadora_manuesy_api-0.1.1.tar.gz
Algorithm Hash digest
SHA256 173728ca2ab5b6f75dae13a4ee622ada5eeb6d33be38325c668125fcd17a2e63
MD5 d969178ff79249970bef8af9704a71dd
BLAKE2b-256 a2c2cb153fa1d7957c9a07fdeab35ba8fe0ab730817498d923fa1b0862ba3bbb

See more details on using hashes here.

File details

Details for the file calculadora_manuesy_api-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for calculadora_manuesy_api-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 18bf087d14f17af79c60c3388ffc5a74cd9538395f17bd254a9905d9c6c24994
MD5 c94f5aa03cbf2ce2e0f6f2891de9b4d9
BLAKE2b-256 48752d52555031fe130b4b1f3e3b3039d5726c2dc88728fbb56f927f8d02b7af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page