Skip to main content
Formato do erro O SILOC retorna erros como problem details RFC 9457, com o media type application/problem+json:
Definições de campos
  • type – Uma URI que identifica o erro no catálogo de erros da Lerian, construída como https://errors.lerian.studio/v1/<code>. Esta URI repete code, então ela não separa dois status que compartilham um código. Uma requisição que falha na validação de schema traz o padrão do RFC about:blank em vez disso.
  • title – O texto do status HTTP (por exemplo, Not Found).
  • status – O código de status HTTP.
  • detail – Uma explicação legível por humanos desta ocorrência. Uma resposta 500 substitui o texto por internal error, para que a causa interna permaneça dentro do trilho. O texto varia por ocorrência, e um 403 pode trazer a mensagem que o serviço de autorização reportou. Não baseie sua lógica nele.
  • code – O código estável e legível por máquina (SILOC-NNNN). Baseie sua lógica no par de status e code, não em code isoladamente. Um código pode aparecer sob mais de um status, e cada status precisa de uma ação diferente. O código SILOC-0002 carrega um 401, um 403 e um 503, cada um com sua própria ação. Uma requisição que falha na validação de schema omite o campo, e errors nomeia os campos com falha.
  • errors – Uma lista opcional de detalhes em nível de campo, cada um com o location que leu, um message e o value encontrado ali.
As tabelas abaixo listam os códigos que o SILOC retorna, agrupados por status HTTP.

401: Chamador não identificado


403: Chamador recusado


404: Não encontrado


409: Conflitos


422: Erros de validação


500: Erros do servidor


503: Trilho não pode responder


Um 503 que traz SILOC-0002 não indica que o comando foi rejeitado. O trilho responde com ele tanto antes de o comando executar quanto depois de ele confirmar, então o comando já pode ter tido efeito. Concilie a requisição original primeiro. Quando você repetir, envie o mesmo Idempotency-Key, e nunca repita sob um novo.