⛰️ Doc - API Rotas da Ibiapaba
Modelo de resposta (success/ error)#
Http response#
Modelo baseado na lib ajax Axios para requisição http.Model
{
"message": {
"title": string,
"text": string
},
"success": boolean,
"status": number,
"data": <T>
}
Error example
{
"message": {
"title": "Erro, usuário não autorizado!",
"text": "Description"
},
"success": false,
"status": 401,
"data": null
}
"headers": {
"Content-Type": "application/json; charset=utf-8",
"Strict-Transport-Security": "max-age=63072000; includeSubDomains; preload",
"X-Frame-Options": "DENY",
"X-Content-Type-Options": "nosniff",
"X-XSS-Protection": "1; mode=block",
"Referrer-Policy": "no-referrer",
"Permissions-Policy": "geolocation=(), microphone=()",
"Access-Control-Allow-Origin": "https://meusite.com",
"Content-Security-Policy": "default-src 'self'"
},
Cabeçalhos de Segurança#
Cabeçalho | Propósito |
---|
Strict-Transport-Security | Obriga o navegador a usar HTTPS. Protege contra downgrade attacks. |
X-Frame-Options | Evita que sua aplicação seja carregada via. Mitiga clickjacking. |
X-Content-Type-Options | Evita que o browser tente adivinhar o tipo de conteúdo (MIME sniffing). |
X-XSS-Protection | Ativa proteção contra XSS em alguns navegadores (antigo, mas ainda útil). |
Referrer-Policy | Controla o que é enviado |
Configuração de CORS#
{
"origin": ["https://seusite.com", "https://admin.seusite.com"],
"methods": ["GET", "POST", "PUT", "PATCH", "DELETE"],
"allowedHeaders": ["Content-Type", "Authorization"],
"exposedHeaders": ["Content-Length", "X-Kuma-Revision"],
"credentials": true,
"maxAge": 86400
}
Propriedade | Finalidade |
---|
origin | Lista de domínios autorizados a acessar a API. Bloqueia requisições de outras origens. |
origin | Métodos HTTP permitidos para essas origens (ex: GET, POST). |
origin | Cabeçalhos que o navegador pode enviar. Protege contra headers inesperados. |
origin | Cabeçalhos que o navegador pode ler na resposta (normalmente ocultos). |
credentials | Permite cookies, tokens de autenticação ou cabeçalhos customizados com a requisição. |
credentials | Tempo que o navegador pode cachear a resposta da requisição |
Controle de versões#
Uso de prefixos para determinar a versão, exemplo: /api/v1/
. Dessa forma, garantimos a consistência entre versões. Deve ser utilizado como pré-fixo para todas as rotas.Modificado em 2025-06-11 22:26:37