Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • H Hopeful Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Gestao de Planos de Contingencia em Desastres
  • Hopeful Wiki
  • Wiki
  • backend

backend · Changes

Page history
Update backend authored Aug 25, 2025 by André Damé Fabião's avatar André Damé Fabião
Hide whitespace changes
Inline Side-by-side
backend.md
View page @ 7c1f219d
......@@ -2,6 +2,12 @@
Esta página visa apresentar os padrões a serem utilizados no desenvolvimento de código do repositório do **Backend** da aplicação.
## Sumário
1. [Swagger](#swagger)
2. [📌 DTOs](#-dtos)
3. [Estrutura de Exceções](#estrutura-de-exce%C3%A7%C3%B5es)
---
## Swagger
......@@ -45,4 +51,55 @@ Na Controller:
public ResponseEntity<UsuarioDTO> salvar(@RequestBody @Valid UsuarioDTO usuarioDTO) {
return ResponseEntity.ok(service.salvar(usuarioDTO));
}
```
\ No newline at end of file
```
## Estrutura de Exceções
- **`exception/HttpException.java`** → classe base
- **`exception/NotFoundException.java`** → exemplo de exceção específica
- **`config/GlobalExceptionHandler.java`** → handler global
---
Handler Global: ``GlobalExceptionHandler``
- O handler global (GlobalExceptionHandler) captura todas as exceções e retorna respostas padronizadas:
- HttpException → retorna a mensagem e o status HTTP definido na exceção
- Exception → erros genéricos retornam 500 com mensagem padrão
- MethodArgumentNotValidException → validação de DTOs retorna 400 BAD_REQUEST com detalhes de cada campo
- IllegalArgumentException → retorna 400 BAD_REQUEST com mensagem da exceção
## 1. Criando Exceções
Todas as exceções personalizadas devem estender `HttpException`.
```java
public class NotFoundException extends HttpException {
public NotFoundException(String message) {
super(message, HttpStatus.NOT_FOUND);
}
}
```java
@GetMapping("/usuarios/{id}")
public Usuario getUsuario(@PathVariable Long id) {
return usuarioRepository.findById(id)
.orElseThrow(() -> new NotFoundException("Usuário não encontrado"));
}
```
Retorno :
```java
{
"message": "Usuário não encontrado",
"status": "NOT_FOUND"
}
```
Boas Práticas de Exceções
- Sempre criar exceções específicas estendendo `HttpException`.
- Usar mensagens claras e descritivas.
- Não lançar `RuntimeException` direto; use suas exceções customizadas.
- Validações de DTO são tratadas automaticamente (`@Valid`).
- Não manipular a resposta JSON de erro manualmente; o handler global cuida disso.
\ No newline at end of file
Clone repository
  • Arquitetura
  • Banco de Dados
  • Frontend
  • backend
  • configuracao
  • design_mockups
  • escopo
  • Home
  • processo