O Lightning Data Service retorna novos valores de erro

O Lightning Data Service retorna um erro quando um recurso, como um registro ou objeto, fica inacessível no servidor. O novo objeto de erro contém o corpo da resposta e um código e uma mensagem de status.

Onde: Esta mudança vale para organizações com componentes da Web do Lightning no Lightning Experience, Comunidades do Lightning e todas as versões do aplicativo móvel em todas as edições. Para criar um componentes da Web do Lightning, use as edições Enterprise, Performance, Unlimited e Developer.

Por quê: O novo objeto de erro, modelado conforme o objeto Resposta da API de busca, tem uma forma mais simples para dar suporte à API da IU e outras APIs do Salesforce.

Como: Anteriormente, você capturava mensagens de erro usando error.message e o objeto de erro se parecia com isto.

//Before Spring ’19
{
    type: enum<string>;
    message: string;
    details: object;
}

Agora você captura a mensagem de erro usando error.body.message ou error.body[].message, dependendo da API que a retorna. O objeto de erro foi alterado da seguinte maneira.

//After Spring ’19
{
    body: object|array;
    ok: boolean;
    status: number;
    statusText: string
}
  • body (objeto|matriz) – o corpo da resposta definido pela API subjacente.
  • ok (booliano) – especifica se a resposta foi ou não bem-sucedida. ok é sempre definido como false.
  • status (número) – contém o código de status da resposta, por exemplo, 404 se um recurso não for encontrado, ou 500 para um erro interno do servidor.
  • statusText (string) – contém a mensagem de status que corresponde ao código de status, por exemplo, Not Found para um código de status de 404.

O corpo da resposta de erro depende da API que o retornou.

  • Operações de leitura da API da IU, como o adaptador de conexão getRecord, retornam error.body como uma matriz de objetos.
  • Operações de gravação da API da IU, como o adaptador de conexão createRecord, retornam error.body como um objeto, com frequência com erros no nível do objeto ou do campo.
  • Operações de leitura e gravação do Apex retornam error.body como um objeto.
  • Erros de rede, como um erro offline, retornam error.body como um objeto.