@startuml
actor Cliente
entity "API REST" as API
database "Banco de Dados" as BD
note over Cliente, API
POST /usuarios espera receber um JSON com:
{
"acao": "cadastrar",
"nome": "Nome do Usuário",
"registro": "Registro",
"rosto": ["dados", "do", "rosto"]
}
end note
Cliente -> API : POST /usuarios
API -> BD : INSERT INTO users
BD -> API : SUCCESS (201 Created)
API -> Cliente : 201 Created (JSON Response)
note over Cliente, API
GET /usuarios pode receber um parâmetro de query:
?relatorio=1 para gerar um relatório de usuários
end note
Cliente -> API : GET /usuarios
API -> BD : SELECT * FROM users
BD -> API : RETURN users
API -> Cliente : 200 OK (JSON de usuários)
note over Cliente, API
DELETE /usuarios/{id} não espera dados no corpo da requisição.
end note
Cliente -> API : DELETE /usuarios/{id}
API -> BD : DELETE FROM users WHERE id={id}
BD -> API : SUCCESS (200 OK)
API -> Cliente : 200 OK
note over Cliente, API
POST /presencas espera receber um JSON com:
{
"tipo": "E",
"id_usuario": "ID do Usuário"
}
end note
Cliente -> API : POST /presencas
API -> BD : INSERT INTO presencas
BD -> API : SUCCESS (201 Created)
API -> Cliente : 201 Created (JSON Response)
note over Cliente, API
GET /presencas pode receber parâmetros de query para filtro:
?registro=Registro&data=Data
end note
Cliente -> API : GET /presencas
API -> BD : SELECT * FROM presencas WHERE ...
BD -> API : RETURN presencas
API -> Cliente : 200 OK (JSON de presenças)
note over Cliente, API
PUT /presencas espera receber um JSON com:
{
"id": "ID da Presença",
"novaDataHora": "Nova Data e Hora"
}
end note
Cliente -> API : PUT /presencas/{id}
API -> BD : UPDATE presencas SET data_hora={novaDataHora} WHERE id={id}
BD -> API : SUCCESS (200 OK)
API -> Cliente : 200 OK
@enduml
|