Esta API permite o upload, exclusão, visualização e gerenciamento de arquivos e metadados relacionados.
- Node.js
- Express
- Multer
- fs-extra
- path
- url
- URL:
/upload
- Método:
POST
- Descrição: Faz o upload de um arquivo e registra seus metadados.
- Body:
file
: Arquivo a ser enviado.- Metadados do arquivo (JSON).
Exemplo de Request:
POST /upload
Content-Type: multipart/form-data
--boundary
Content-Disposition: form-data; name="file"; filename="example.pdf"
Content-Type: application/pdf
(binary data)
--boundary
Content-Disposition: form-data; name="metadata"
{
"description": "Example file",
"author": "John Doe"
}
--boundary--
Resposta de Sucesso:
{
"message": "Upload e registro concluídos com sucesso"
}
- URL:
/upload/:filename
- Método:
DELETE
- Descrição: Remove o arquivo e seus metadados com base no nome do arquivo.
- Parâmetros da URL:
filename
: Nome do arquivo a ser excluído.
Exemplo de Request:
DELETE /upload/example.pdf
Resposta de Sucesso:
{
"message": "Upload e dados excluídos com sucesso"
}
- URL:
/listalluploads
- Método:
GET
- Descrição: Retorna todos os metadados dos arquivos carregados.
- Resposta:
[
{
"description": "Example file",
"author": "John Doe",
"filename": "example.pdf",
"path": "relative/path/to/example.pdf",
"uploadDate": "2024-07-26T14:30:00.000Z",
"id": 1234567890
},
...
]
- URL:
/data/:folder
- Método:
POST
- Descrição: Cria um novo registro em uma pasta especificada.
- Parâmetros da URL:
folder
: Nome da pasta onde o registro será salvo.
7E26
- Body:
- Dados do novo registro (JSON).
Exemplo de Request:
POST /data/foldername
Content-Type: application/json
{
"name": "New Record",
"value": "Some value"
}
Resposta de Sucesso:
{
"message": "Registro criado com sucesso",
"data": {
"name": "New Record",
"value": "Some value",
"id": 1678901234567
}
}
- URL:
/data/:folder/:id
- Método:
PUT
- Descrição: Atualiza um registro existente em uma pasta especificada.
- Parâmetros da URL:
folder
: Nome da pasta onde o registro está localizado.id
: ID do registro a ser atualizado.
- Body:
- Dados atualizados (JSON).
Exemplo de Request:
PUT /data/foldername/1678901234567
Content-Type: application/json
{
"name": "Updated Record",
"value": "Updated value"
}
Resposta de Sucesso:
{
"message": "Registro atualizado com sucesso",
"data": {
"name": "Updated Record",
"value": "Updated value",
"id": 1678901234567
}
}
- URL:
/data/:folder/filter
- Método:
POST
- Descrição: Filtra registros por parâmetros complexos.
- Parâmetros da URL:
folder
: Nome da pasta onde os registros estão localizados.
- Body:
filters
: Filtros para a busca (JSON).
Exemplo de Request:
POST /data/foldername/filter
Content-Type: application/json
{
"filters": [
{ "filtro": "name", "condicao": "indexOf", "valorprocurado": "Updated" }
]
}
Resposta de Sucesso:
[
{
"name": "Updated Record",
"value": "Updated value",
"id": 1678901234567
}
]
- URL:
/data/:folder/:id
- Método:
DELETE
- Descrição: Deleta um registro por ID em uma pasta especificada.
- Parâmetros da URL:
folder
: Nome da pasta onde o registro está localizado.id
: ID do registro a ser deletado.
Exemplo de Request:
DELETE /data/foldername/1678901234567
Resposta de Sucesso:
{
"message": "Registro deletado com sucesso"
}
-
Clone o repositório.
-
Navegue até a pasta do projeto.
-
Instale as dependências:
npm install
-
Inicie o servidor:
npm start
O servidor estará disponível em http://localhost:4001
.
Sinta-se à vontade para ajustar qualquer informação conforme necessário. Se precisar de mais alguma coisa, é só avisar!