Interpretação de uma resposta de API
Cada solicitação de API gera uma resposta ao cliente. Você deve examinar a resposta para determinar se ela foi bem-sucedida e recuperar dados adicionais conforme necessário.
Código de status HTTP
Os códigos de status HTTP usados pela API REST do SnapCenter são descritos abaixo.
Código | Descrição |
---|---|
200 |
OK Indica sucesso para chamadas que não criam um novo objeto. |
201 |
Criado Um objeto foi criado com sucesso. O cabeçalho de localização na resposta inclui o identificador exclusivo do objeto. |
202 |
Aceito Um trabalho em segundo plano foi iniciado para executar a solicitação, mas ainda não foi concluído. |
400 |
Solicitação incorreta A entrada da solicitação não é reconhecida ou é inadequada. |
401 |
A autenticação do usuário não autorizado falhou. |
403 |
Acesso proibido negado devido a um erro de autorização (RBAC). |
404 |
Não encontrado O recurso mencionado na solicitação não existe. |
405 |
Método não permitido O método HTTP na solicitação não é suportado para o recurso. |
409 |
Conflito Uma tentativa de criar um objeto falhou porque um objeto diferente deve ser criado primeiro ou o objeto solicitado já existe. |
500 |
Erro interno Ocorreu um erro interno geral no servidor. |
Cabeçalhos de resposta
Vários cabeçalhos são incluídos na resposta HTTP gerada pelo SnapCenter.
Localização
Quando um objeto é criado, o cabeçalho de localização inclui o URL completo para o novo objeto, incluindo o identificador exclusivo atribuído ao objeto.
Tipo de conteúdo
Isso normalmente será application/json
.
Corpo de resposta
O conteúdo do corpo de resposta resultante de uma solicitação de API difere com base no objeto, no tipo de processamento e no sucesso ou falha da solicitação. A resposta é sempre renderizada em JSON.
Objeto único
Um único objeto pode ser retornado com um conjunto de campos com base na solicitação. Por exemplo, você pode usar GET para recuperar propriedades selecionadas de um cluster usando o identificador exclusivo.
Vários objetos
Vários objetos de uma coleção de recursos podem ser retornados. Em todos os casos, há um formato consistente usado, com num_records
indicando o número de registros e registros contendo uma matriz de instâncias do objeto. Por exemplo, você pode recuperar os nós definidos em um cluster específico.
Objeto de trabalho
Se uma chamada de API for processada de forma assíncrona, um objeto Job será retornado, ancorando a tarefa em segundo plano. Por exemplo, a solicitação PATCH usada para atualizar a configuração do cluster é processada de forma assíncrona e retorna um objeto Job.
Objeto de erro
Se ocorrer um erro, um objeto Error será sempre retornado. Por exemplo, você receberá um erro ao tentar alterar um campo não definido para um cluster.
Vazio
Em certos casos, nenhum dado é retornado e o corpo da resposta inclui um objeto JSON vazio.
Erros
Se ocorrer um erro, um objeto de erro será retornado no corpo da resposta.
Formatar
Um objeto de erro tem o seguinte formato:
"error": { "message": "<string>", "code": <integer>[, "target": "<string>"] }
Você pode usar o valor do código para determinar o tipo ou categoria geral de erro, e a mensagem para determinar o erro específico. Quando disponível, o campo de destino inclui a entrada específica do usuário associada ao erro.
Códigos de erro comuns
Os códigos de erro comuns são descritos na tabela a seguir. Chamadas de API específicas podem incluir códigos de erro adicionais.
Código | Descrição |
---|---|
409 |
Já existe um objeto com o mesmo identificador. |
400 |
O valor de um campo tem um valor inválido ou está ausente, ou um campo extra foi fornecido. |
400 |
A operação não é suportada. |
405 |
Um objeto com o identificador especificado não pode ser encontrado. |
403 |
A permissão para executar a solicitação foi negada. |
409 |
O recurso está em uso. |