sequenceDiagram
actor R as Leitor
participant S as Serviço de busca
R->>+S: Buscar guia
S-->>-R: Retornar resultados Carregando…
Mermaid 11.15.0
Diagramas de sequência mostram mensagens entre participantes. Use fluxogramas para decisões ou diagramas de classes para estruturas estáticas.
Criar com o Gerador de diagramas de sequência →Declare os aliases antes das mensagens para definir a ordem das linhas de vida.
sequenceDiagram
actor R as Leitor
participant S as Serviço de busca
R->>+S: Buscar guia
S-->>-R: Retornar resultados Carregando…
| Sintaxe | Significado |
|---|---|
| sequenceDiagram / participant / actor / as | Declara linhas de vida e aliases; actor usa um símbolo de pessoa. |
| participant A@{ "type": "boundary" } | Tipos: boundary, control, entity, database, collections e queue; participant e actor atendem aos casos básicos. |
| -> | Linha contínua sem ponta |
| --> | Linha tracejada sem ponta |
| ->> | Seta contínua |
| -->> | Seta tracejada |
| <<->> | Seta bidirecional contínua |
| <<-->> | Seta bidirecional tracejada |
| -x | Linha contínua com cruz |
| --x | Linha tracejada com cruz |
| -) | Seta aberta contínua, assíncrona |
| --) | Seta aberta tracejada, assíncrona |
| -|\ | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| --|\ | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| -|/ | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| --|/ | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| /|- | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| /|-- | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| \\- | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| \\-- | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| -\\ | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| --\\ | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| -// | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| --// | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| //- | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| //-- | Variante de meia seta; o exemplo mostra a orientação e o traço. |
| A->>()B / A()->>B / A()->>()B | Conecta mensagens ao centro da linha de vida de origem ou destino. |
| activate / deactivate / ->>+ / -->>- | Inicia e encerra ativações; mantenha ativações aninhadas equilibradas. |
| create participant / create actor / destroy | Crie antes da primeira mensagem recebida e destrua antes da mensagem final. |
| Note left of / right of / over A,B | Posicione notas ao lado ou sobre linhas; <br/> insere quebras. |
| loop / alt / else / opt / par / and / critical / option / break / rect / end | Feche cada bloco com end; else, and e option pertencem aos blocos correspondentes. rect recebe uma cor. |
| autonumber / autonumber 10 5 | Numera mensagens; aceita início e incremento. |
| box Color Label / end | Agrupa declarações de participantes em caixas coloridas ou transparentes. |
| link A: Label @ URL / links A: {"Label":"URL"} | Adiciona um link ou menu JSON ao participante. |
| %% / accTitle: / accDescr: | Comentários e descrições acessíveis. |
Ids curtos identificam participantes; aliases contêm texto visível. A configuração JSON muda o símbolo. Declare as linhas antes de enviar mensagens.
sequenceDiagram
actor R as Leitor
participant B@{ "type": "boundary" }
participant C@{ "type": "control" }
participant E@{ "type": "entity" }
participant D@{ "type": "database" }
participant L@{ "type": "collections" }
participant Q@{ "type": "queue" }
R->>B: Solicitação
B->>C: Validar
C->>E: Ler
E->>D: Consulta
D-->>L: Resultados
L-)Q: Notificar Carregando…
Escolha setas conforme sua convenção. Setas abertas costumam indicar envio assíncrono; uma cruz não encerra a linha de vida sem destroy.
sequenceDiagram
participant A as Emissor
participant B as Receptor
A->B: Mensagem
A-->B: Mensagem
A->>B: Mensagem
A-->>B: Mensagem
A<<->>B: Mensagem
A<<-->>B: Mensagem
A-xB: Mensagem
A--xB: Mensagem
A-)B: Mensagem
A--)B: Mensagem
A-|\B: Mensagem
A--|\B: Mensagem
A-|/B: Mensagem
A--|/B: Mensagem
A/|-B: Mensagem
A/|--B: Mensagem
A\\-B: Mensagem
A\\--B: Mensagem
A-\\B: Mensagem
A--\\B: Mensagem
A-//B: Mensagem
A--//B: Mensagem
A//-B: Mensagem
A//--B: Mensagem
A()->>()B: Conexão central Carregando…
create precede imediatamente a mensagem de criação e destroy a mensagem final. Equilibre as ativações.
sequenceDiagram
participant C as Controlador
create participant W as Trabalhador
C->>+W: Iniciar trabalho
Note right of W: Processo temporário
W-->>-C: Trabalho concluído
destroy W
C-xW: Parar processo Carregando…
Feche blocos com end. else separa alternativas, and ramos paralelos e option recuperações de critical. break representa uma saída excepcional.
sequenceDiagram
participant C as Cliente
participant S as Serviço
loop Nova tentativa
C->>S: Solicitação
alt Aceito
S-->>C: Resultado
else Rejeitado
S-->>C: Erro
end
end
opt Cache disponível
S-->>C: Resultado em cache
end
par Registro
S->>S: Registrar
and Métricas
S->>S: Contar
end
critical Confirmação
S->>S: Salvar
option Falha
S-->>C: Reverter
end
break Tempo esgotado
S-->>C: Parar
end
rect rgb(230,240,255)
Note over C,S: Limite da revisão
end Carregando…
mirrorActors repete participantes no rodapé; wrap ajusta mensagens e actorMargin separa linhas de vida. A ordem das mensagens permanece.
---
config:
sequence:
mirrorActors: false
wrap: true
actorMargin: 60
---
sequenceDiagram
participant R as Leitor
participant G as Guia
R->>G: Ler referência Carregando…
Adicione end para cada bloco aninhado.
Sintaxe inválida: veja a correção abaixo
sequenceDiagram
loop Nova tentativa
A->>B: SolicitaçãosequenceDiagram
loop Nova tentativa
A->>B: Solicitação
end Carregando…
end é especial; use aspas ou colchetes se houver ambiguidade e evite ids reservados.