Interpretando uma resposta da API
Cada solicitação de API gera uma resposta de volta 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 ONTAP são descritos abaixo.
Código | Frase do motivo | 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 para o objeto. |
202 |
Aceito |
Um trabalho em segundo plano foi iniciado para executar a solicitação, mas ainda não foi concluído. |
400 |
Pedido incorreto |
A entrada de solicitação não é reconhecida ou é inadequada. |
401 |
Não autorizado |
A autenticação do utilizador falhou. |
403 |
Proibido |
O acesso é negado devido a um erro de autorização. |
404 |
Não encontrado |
O recurso referido 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 estão incluídos na resposta HTTP gerada pelo ONTAP.
- Localização
-
Quando um objeto é criado, o cabeçalho do local inclui o URL completo para o novo objeto, incluindo o identificador exclusivo atribuído ao objeto.
- Tipo de conteúdo
-
Isso normalmente será
application/hal+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.
-
Um único objeto
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
a indicação do número de Registros e Registros contendo um array das instâncias do objeto. Por exemplo, você pode recuperar os nós definidos em um cluster específico. -
Objeto trabalho
Se uma chamada de API for processada de forma assíncrona, um objeto Job será retornado que ancora a tarefa em segundo plano. Por exemplo, a SOLICITAÇÃO DE 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 de erro é sempre retornado. Por exemplo, você receberá um erro ao tentar alterar um campo não definido para um cluster.
-
Objeto JSON vazio
Em certos casos, nenhum dado é retornado e o corpo de resposta inclui um objeto JSON vazio.
Ligação HAL
A API REST do ONTAP usa o HAL como o mecanismo para suportar a Hypermedia como o motor do Estado de aplicação (HATEOAS). Quando um objeto ou atributo é retornado que identifica um recurso específico, um link codificado em HAL também é incluído, permitindo que você localize e determine facilmente detalhes adicionais sobre o recurso.
Erros
Se ocorrer um erro, um objeto de erro é retornado no corpo de resposta.
- Formato
-
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 de erro geral 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. As chamadas de API específicas podem incluir códigos de erro adicionais.
Código Descrição 1
409
Já existe um objeto com o mesmo identificador.
2
400
O valor de um campo tem um valor inválido ou está em falta ou um campo extra foi fornecido.
3
400
A operação não é suportada.
4
405
Não é possível encontrar um objeto com o identificador especificado.
6
403
A permissão para executar a solicitação é negada.
8
409
O recurso está em uso.