Esta API foi desenvolvida para operações CRUD em tabelas específicas de um banco de dados PostgreSQL. Abaixo está a descrição detalhada de cada endpoint, os modelos de dados usados e como configurar a aplicação para deploy.
- URL:
/data/{table}/
- Método:
POST
- Descrição: Insere uma nova entrada na tabela especificada.
- Parâmetros:
table
(path): Nome da tabela (ex.:telecom
,ti
,serv_audiovisuais
).
- Corpo da Requisição:
{ "ano": 2022, "receita_liquida": 5000.00, "custo_mercadorias": 1500.00, ... }
Resposta: 201 Created
, retorna a entrada criada.
- Listar todas as entradas de uma tabela:
-
URL:
/data/{table}/
-
Método:
GET
-
Descrição: Retorna uma lista de todas as entradas de uma tabela.
-
Parâmetros:
table
(path): Nome da tabela.
-
Resposta:
200 OK
, retorna uma lista de objetosDataEntry
.
- Obter entrada por ano
-
URL:
/data/{table}/{year}
-
Método:
GET
-
Descrição: Retorna uma entrada específica de um ano em uma tabela.
-
Parâmetros:
table
(path): Nome da tabela.year
(path): Ano específico.
-
Resposta:
200 OK
, retorna o objetoDataEntry
.
- Atualizar entrada por ano
- URL:
/data/{table}/{year}
- Método:
PUT
- Descrição: Atualiza uma entrada existente com os dados fornecidos.
- Parâmetros:
table
(path): Nome da tabela.year
(path): Ano específico da entrada a ser atualizada.
- Corpo da Requisição:
{
"ano": 2022,
"receita_liquida": 5500.00,
...
}
Resposta: 200 OK
, retorna a entrada atualizada.
- Excluir entrada por ano
- URL:
/data/{table}/{year}
- Método:
DELETE
- Descrição: Remove uma entrada específica de um ano em uma tabela.
- Parâmetros:
table
(path): Nome da tabela.year
(path): Ano específico.
- Resposta:
200 OK
, retorna uma mensagem de confirmação. Modelos de Dados:DataEntry
Modelo usado para representar e validar os dados de entrada e saída da API.
{
"ano": int,
"receita_liquida": float,
"custo_mercadorias": float,
"subvencoes_receitas_op": float,
"valor_bruto_producao": float,
"consumo_intermediario_total": float,
"consumo_combustiveis": float,
"numero_empresas": float
}
Todas as tabelas possuem uma estrutura base similar, com campos de dados financeiros, consumo e número de empresas.
- Criar uma nova entrada:
curl -X POST "http://localhost:8000/data/telecom/" -d '{
"ano": 2023,
"receita_liquida": 4500.0,
...
}'
- Listar todas as entradas de uma tabela:
curl -X GET "http://localhost:8000/data/telecom/"
- Obter dados por ano:
curl -X GET "http://localhost:8000/data/telecom/2022"
- Atualizar dados:
curl -X PUT "http://localhost:8000/data/telecom/2022" -d '{
"ano": 2022,
"receita_liquida": 4800.0,
...
}'
- Excluir dados:
curl -X DELETE "http://localhost:8000/data/telecom/2022"
Through victory, my chains are broken. The Force shall free me.