Skip to content

About

No description, website, or topics provided.

Resources

Stars

17 stars

Watchers

0 watching

Forks

Latest commit

 

History

34 Commits

Folders and files

Repository files navigation

API de Ordens de Serviço

Projeto desenvolvido em parceria por Flpvoigt e GustavoLoes.

Requisitos

  • Java 21 ou superior
  • Maven Wrapper incluído no projeto

Como executar

No Windows, confirme que o Java está disponível no PATH e execute iniciar.cmd. Também é possível iniciar a aplicação diretamente:

.\mvnw.cmd spring-boot:run

Endpoints

Método Rota Descrição
POST /ordens Cria uma ordem e retorna 201 Created com o cabeçalho Location
GET /ordens?page=0&size=20&sort=cliente,asc Lista as ordens com paginação e ordenação
GET /ordens?cliente=nome&page=0&size=20 Filtra ordens pelo cliente e mantém a paginação
GET /ordens/{id} Consulta uma ordem pelo ID
PUT /ordens/{id} Atualiza uma ordem existente
PATCH /ordens/{id}/status Atualiza o status da ordem
DELETE /ordens/{id} Exclui uma ordem existente

O tamanho máximo aceito por página é de 100 registros.

Os status disponíveis são ABERTA, EM_ANDAMENTO, CONCLUIDA e CANCELADA. Para atualizar, envie por exemplo:

{
  "status": "CONCLUIDA"
}

Transições permitidas:

  • ABERTA → EM_ANDAMENTO ou CANCELADA;
  • EM_ANDAMENTO → CONCLUIDA ou CANCELADA;
  • CONCLUIDA e CANCELADA são estados finais.

Uma transição não permitida retorna 409 Conflict.

Cada ordem também informa criadaEm e atualizadaEm em UTC. Esses campos são preenchidos automaticamente e não precisam ser enviados nas requisições.

Respostas de erro

Erros de validação retornam 400 Bad Request no formato Problem Details, incluindo uma propriedade campos com as mensagens de cada campo inválido. Consultas, atualizações ou exclusões de IDs inexistentes retornam 404 Not Found no mesmo formato padronizado.

Testes

Com o Java 21 ou superior configurado, execute:

.\mvnw.cmd test

About

No description, website, or topics provided.

Resources

Stars

17 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages