Skip to content

Instantly share code, notes, and snippets.

@CarlosPanarello
Created December 14, 2020 16:34
Show Gist options
  • Save CarlosPanarello/bfccb2fef2e6cce8f453d8bf3be4ef7e to your computer and use it in GitHub Desktop.
Save CarlosPanarello/bfccb2fef2e6cce8f453d8bf3be4ef7e to your computer and use it in GitHub Desktop.
{
"$id": "http://dev-mensageria-maven-plugin/schema/#",
"default": {},
"description": "Arquivo com o JSON Schema para mensagens de erro",
"examples": [
{
"$schema": "./src/main/resources/erro/mensagens_schema.json",
"erros": [
{
"identificador": "ERRO_SISTEMA_EXEMPLO_01",
"tipo": "ERRO_NEGOCIAL",
"mensagem": "Erro ao executar uma validacao negocial",
"descricao": "Mensagem descritiva do erro"
},
{
"identificador": "ERRO_NEGOCIAL_EXEMPLO_01",
"tipo": "ERRO_NEGOCIAL",
"mensagem": "Erro ao executar uma validacao negocial",
"descricao": "Mensagem descritiva do erro"
},
{
"identificador": "CPF_INVALIDO",
"tipo": "ALERTA_NEGOCIAL",
"mensagem": "CPF informado esta irregular ${cpf:11}",
"descricao": "O CPF informado não atende o padrão",
"providencia": "Regularize o seu CPF junto a receita federal."
},
{
"identificador": "SISTEMA_SEM_PERMISSAO_AO_BANCO",
"tipo": "ALERTA_SISTEMA",
"mensagem": "Tente novamente",
"descricao": "O usuario utilizado para acesar o banco de dados esta incorreto."
}
]
}
],
"title": "JSON-Schema das mensagens de erro",
"type": "object",
"properties": {
"$schema": {
"$id": "#/properties/%24schema",
"default": "",
"description": "Campo que indica o caminho do json schema no projeto",
"examples": [
"./src/main/resources/erro/mensagens_schema.json"
],
"title": "Caminho JSON-Schema local",
"type": "string"
},
"erros": {
"$id": "#/properties/erros",
"default": [],
"required": true,
"description": "Array de objetos que representam as mensagens de erro",
"examples": [
{
"identificador": "ERRO_SISTEMA_EXEMPLO_01",
"tipo": "ERRO_NEGOCIAL",
"mensagem": "Erro ao executar uma validacao negocial",
"descricao": "Mensagem descritiva do erro"
},
{
"identificador": "ERRO_NEGOCIAL_EXEMPLO_01",
"tipo": "ERRO_NEGOCIAL",
"mensagem": "Erro ao executar uma validacao negocial",
"descricao": "Mensagem descritiva do erro"
},
{
"identificador": "CPF_INVALIDO",
"tipo": "ALERTA_NEGOCIAL",
"mensagem": "CPF informado inválido ${cpf:11}",
"descricao": "O CPF informado não atende o padrão"
},
{
"identificador": "SISTEMA_SEM_PERMISSAO_AO_BANCO",
"tipo": "ALERTA_SISTEMA",
"mensagem": "Tente novamente",
"descricao": "O usuario utilizado para acesar o banco de dados esta incorreto."
}
],
"title": "Schema de erro",
"type": "array",
"items": {
"$id": "urn:jsonschema:br:com:bb:mensageria:model:Erro",
"type": "object",
"properties": {
"identificador": {
"type": "string",
"required": true,
"pattern": "^[A-Z]{1}[A-Z0-9_]{0,100}$",
"description": "Identificador unico do Erro"
},
"tipo": {
"type": "string",
"required": true,
"description": "Indica o tipo do erro",
"enum": [
"ALERTA_SISTEMA",
"ALERTA_NEGOCIAL",
"ERRO_NEGOCIAL",
"ERRO_SISTEMA"
]
},
"mensagem": {
"type": "string",
"required": true,
"description": "Mensagem de erro que será exibida para o cliente."
},
"providencia": {
"type": "string",
"description": "Mensagem para indicar o pode ser feito para esse caso de erro."
},
"descricao": {
"type": "string",
"description": "Mensagem descritiva do erro, usada para facilitar o entendimento do desenvolvedor"
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment