API de Exercícios
A API de Exercícios do FitLocus fornece endpoints para criação, gerenciamento e execução de exercícios físicos na plataforma.Visão Geral
A API de Exercícios permite:
- Criação e gerenciamento de exercícios personalizados
- Categorização de exercícios por grupo muscular
- Upload e gerenciamento de imagens demonstrativas
- Busca e filtragem de exercícios
- Registro de execuções e progresso
Categorias de Exercícios
O FitLocus categoriza os exercícios por grupo muscular principal:Modelo de Dados
ExerciseDTO
O objeto ExerciseDTO é utilizado para transferência de dados de exercícios entre o cliente e o servidor:ExerciseFilterRequest
Objeto utilizado para filtrar exercícios na busca:ExerciseExecutionDTO
Objeto que representa a execução de um exercício:Endpoints Principais
Detalhes de Implementação
Autenticação
Todos os endpoints, exceto GET/exercises e GET /exercises/{id} para exercícios públicos, requerem autenticação via token JWT no cabeçalho Authorization:
Controle de Acesso
O acesso aos endpoints é controlado com base no tipo de usuário e propriedade do recurso:- Exercícios públicos podem ser visualizados por qualquer usuário
- Exercícios privados só podem ser visualizados por seu criador
- Apenas o criador de um exercício pode atualizá-lo ou removê-lo
- Personal trainers podem criar exercícios públicos ou privados
- Alunos só podem criar exercícios privados
Upload de Imagens
A criação e atualização de exercícios suporta upload de imagens demonstrativas através de requisiçõesmultipart/form-data:
Paginação e Ordenação
Endpoints que retornam listas de exercícios suportam paginação e ordenação através dos seguintes parâmetros:page: Número da página (começando em 0)size: Tamanho da página (número de itens por página)sort: Campo e direção de ordenação (ex:name,asc)
Exemplos de Uso
Listar Exercícios
Obter Detalhes de um Exercício
Criar um Novo Exercício
Registrar Execução de Exercício
Códigos de Status
Considerações de Segurança
- Validação de Dados: Todos os dados de entrada são validados para prevenir injeção de dados maliciosos.
- Controle de Acesso: Verificações rigorosas garantem que um usuário só possa acessar e modificar seus próprios exercícios ou exercícios públicos.
- Validação de Arquivos: Uploads de imagem são validados quanto ao tipo, tamanho e conteúdo para prevenir ataques.
- Sanitização de Dados: Todos os dados de entrada são sanitizados antes de serem armazenados ou exibidos.
- HTTPS: Todas as comunicações com a API devem ser realizadas através de HTTPS.