Documentation in English: link
Documentação em Português abaixo
🗂 API para transferência de arquivos.
Descrição da API: É um serviço que permite o upload e download de arquivos. Ela foi desenvolvida usando Spring Boot, Java, e oferece endpoints para manipulação de arquivos, incluindo upload e download de arquivos individuais e múltiplos.
- Endpoints
- Arquivo tipo File
- Upload de um arquivo
- Upload de vários arquivos
- Arquivo tipo Part
- Upload de um arquivo
- Upload de vários arquivos
- Download de um arquivo
- Download de vários arquivos
- Arquivo tipo File
- Observações
- Contato
Endpoint: POST /api/file/upload
Descrição: Realiza o upload de um único arquivo do tipo File.
Parâmetro:
file
: Arquivo a ser enviado do tipo File.
Resposta de Sucesso:
{
"index": 0,
"message": "Arquivo enviado com sucesso",
"fileName": "nome_do_arquivo_202310311234560.txt"
}
Resposta de Erro:
{
"index": null,
"message": "Arquivo vazio",
"fileName": null
}
Resposta de Erro Inesperado:
{
"message": "Falha no upload do arquivo",
"fileNames": null,
"files": null
}
Endpoint: POST /api/file/uploads
Descrição: Realiza o upload de vários arquivos de uma vez.
Parâmetro:
files
: Lista de arquivos a serem enviados do tipo File.
Resposta de Sucesso:
{
"message": "Arquivos enviados com sucesso",
"fileNames": ["nome_arquivo_1.txt", "nome_arquivo_2.jpg"],
"files": [
{
"index": 0,
"originalFilename": "nome_arquivo_1.txt",
"downloadFilename": "nome_arquivo_1_202310311234560.txt",
"filename": "nome_arquivo_1",
"extension": ".txt"
},
{
"index": 1,
"originalFilename": "nome_arquivo_2.jpg",
"downloadFilename": "nome_arquivo_2_202310311234561.jpg",
"filename": "nome_arquivo_2",
"extension": ".jpg"
}
]
}
Resposta de Erro:
{
"message": "Lista vazia",
"fileNames": null,
"files": null
}
Resposta de Erro Inesperado:
{
"message": "Falha no upload dos arquivos",
"fileNames": null,
"files": null
}
Endpoint: POST /api/part/upload
Descrição: Realiza o upload de um único arquivo do tipo Part.
Parâmetro:
part
: Arquivo a ser enviado do tipo File.
Resposta de Sucesso:
{
"index": 0,
"message": "Arquivo enviado com sucesso",
"fileName": "nome_do_arquivo_202310311234560.txt"
}
Resposta de Erro:
{
"index": null,
"message": "Arquivo vazio",
"fileName": null
}
Resposta de Erro Inesperado:
{
"message": "Falha no upload do arquivo",
"fileNames": null,
"files": null
}
Endpoint: POST /api/part/uploads
Descrição: Realiza o upload de vários arquivos de uma vez.
Parâmetro:
parts
: Lista de arquivos a serem enviados do tipo Part.
Resposta de Sucesso:
{
"message": "Arquivos enviados com sucesso",
"fileNames": ["nome_arquivo_1.txt", "nome_arquivo_2.jpg"],
"files": [
{
"index": 0,
"originalFilename": "nome_arquivo_1.txt",
"downloadFilename": "nome_arquivo_1_202310311234560.txt",
"filename": "nome_arquivo_1",
"extension": ".txt"
},
{
"index": 1,
"downloadFilename": "nome_arquivo_2_202310311234561.jpg",
"filename": "nome_arquivo_2",
"extension": ".jpg"
}
]
}
Resposta de Erro:
{
"message": "Lista vazia",
"fileNames": null,
"files": null
}
Resposta de Erro Inesperado:
{
"message": "Falha no upload dos arquivos",
"fileNames": null,
"files": null
}
Endpoint: GET /api/file/download/{fileName}
Descrição: Baixa um arquivo específico pelo seu nome.
Parâmetros:
fileName
: Nome do arquivo a ser baixado.
Requisição exemplo: GET /api/file/nome_arquivo_1.txt
Resposta: O nome_arquivo_1.txt é baixado como um anexo.
Endpoint: GET /api/file/downloads
Descrição: Realiza o download de vários arquivos compactados em um arquivo zip.
Parâmetros:
fileNames
: Lista de nomes de arquivos a serem baixados.
Requisição exemplo: GET /api/file/downloads?fileNames=nome_arquivo_1.txt,nome_arquivo_2.jpg
Resposta: Os arquivos nome_arquivo_1.txt e nome_arquivo_2.jpg são baixados como um anexo compactados em um arquivo zip.
- Se não for enviado nenhum arquivo por parâmetro nos endpoints de upload a resposta terá o status HTTP 400 (Bad Request).
- Caso algum arquivo da lista passada no endpoint de download de múltiplos arquivos não exista no diretório de upload, ele será ignorado no arquivo zip.
- Se ocorrer algum erro inesperado durante algum dos processos, a resposta terá o status HTTP 500 (Internal Server Error).
Autor: @Lewoaragao
Celular: (85) 99797-2854
Instagram: https://instagram.com/lewoaragao
LinkedIn: http://linkedin.com/in/lewoaragao