Skip to main content
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Noções básicas de API

Colaboradores

Na API Web Services, as comunicações HTTP envolvem um ciclo de resposta de solicitação.

Elementos de URL nas solicitações

Independentemente da linguagem de programação ou ferramenta usada, cada chamada para a API de Serviços Web tem uma estrutura semelhante, com um URL, verbo HTTP e um cabeçalho aceitar.

Diagrama de chamadas da API de serviços Web

Todas as solicitações incluem um URL, como no exemplo a seguir, e contêm os elementos descritos na tabela.

https://webservices.name.com:8443/devmgr/v2/storage-systems

Área Descrição

Transporte HTTP

https://

O Proxy de Serviços Web permite o uso de HTTP ou HTTPS.

Os Serviços da Web incorporados requerem HTTPS por motivos de segurança.

URL e porta base

webservices.name.com:8443

Cada solicitação deve ser roteada corretamente para uma instância ativa dos Serviços Web. É necessário o FQDN (nome de domínio totalmente qualificado) ou o endereço IP da instância, juntamente com a porta de escuta. Por padrão, os Web Services se comunicam pela porta 8080 (para HTTP) e porta 8443 (para HTTPS).

Para o Proxy de Serviços Web, ambas as portas podem ser alteradas durante a instalação do proxy ou no arquivo wsconfig.xml. A contenção de portas é comum em hosts de data center que executam várias aplicações de gerenciamento.

Para os Serviços da Web incorporados, a porta no controlador não pode ser alterada; por predefinição, a porta 8443 para ligações seguras.

Caminho API

devmgr/v2/storage-systems

Uma solicitação é feita para um recurso REST específico ou endpoint dentro da API de serviços da Web. A maioria dos endpoints está na forma de:

devmgr/v2/<resource>/[id]

O caminho da API consiste em três partes:

  • devmgr (Gerenciador de dispositivos) é o namespace da API de Serviços Web.

  • v2 Indica a versão da API que você está acessando. Você também pode usar utils para acessar endpoints de login.

  • storage-systems é uma categoria dentro da documentação.

Verbos HTTP suportados

Os verbos HTTP suportados incluem GET, POST e DELETE:

  • As SOLICITAÇÕES GET são usadas para solicitações somente leitura.

  • As SOLICITAÇÕES POST são usadas para criar e atualizar objetos e também para solicitações de leitura que podem ter implicações de segurança.

  • As solicitações DE EXCLUSÃO são normalmente usadas para remover um objeto do gerenciamento, remover um objeto totalmente ou redefinir o estado do objeto.

Observação Atualmente, a API de Serviços Web não suporta put ou PATCH. Em vez disso, você pode usar O POST para fornecer a funcionalidade típica para esses verbos.

Aceitar cabeçalhos

Ao retornar um corpo de solicitação, os Web Services retornam os dados no formato JSON (a menos que especificado de outra forma). Certos clientes usam o padrão para solicitar "text/html" ou algo similar. Nesses casos, a API responde com um código HTTP 406, denotando que não pode fornecer dados neste formato. Como uma prática recomendada, você deve definir o cabeçalho aceitar como "'application/json" para todos os casos em que você espera JSON como o tipo de resposta. Em outros casos em que um corpo de resposta não é retornado (por exemplo, DELETE), desde que o cabeçalho aceitar não cause efeitos não intencionais.

Respostas

Quando uma solicitação é feita à API, uma resposta retorna duas informações críticas:

  • Código de status HTTP — indica se a solicitação foi bem-sucedida.

  • Corpo de resposta opcional — geralmente fornece um corpo JSON representando o estado do recurso ou um corpo fornecendo mais detalhes sobre a natureza de uma falha.

Você deve verificar o código de status e o cabeçalho do tipo de conteúdo para determinar como o corpo de resposta resultante se parece. Para códigos de status HTTP 200-203 e 422, Web Services retorna um corpo JSON com a resposta. Para outros códigos de status HTTP, os Web Services geralmente não retornam um corpo JSON adicional, seja porque a especificação não a permite (204) ou porque o status é auto-explicativo. A tabela lista códigos de status HTTP comuns e definições. Ele também indica se as informações associadas a cada código HTTP são retornadas em um corpo JSON.

Código de status HTTP Descrição Corpo JSON

200 OK

Indica uma resposta bem-sucedida.

Sim

201 criado

Indica que um objeto foi criado. Este código é usado em alguns casos raros em vez de um status 200.

Sim

202 aceite

Indica que a solicitação é aceita para processamento como uma solicitação assíncrona, mas você deve fazer uma solicitação subsequente para obter o resultado real.

Sim

203 Informação não autorizada

Semelhante a uma resposta 200, mas os Web Services não podem garantir que os dados estejam atualizados (por exemplo, apenas os dados armazenados em cache estão disponíveis neste momento).

Sim

204 nenhum conteúdo

Indica uma operação bem-sucedida, mas não há corpo de resposta.

Não

400 pedido incorreto

Indica que o corpo JSON fornecido na solicitação não é válido.

Não

401 não autorizado

Indica que ocorreu uma falha de autenticação. Não foram fornecidas credenciais ou o nome de utilizador ou a palavra-passe eram inválidos.

Não

403 proibido

Uma falha de autorização, que indica que o usuário autenticado não tem permissão para acessar o endpoint solicitado.

Não

404 não encontrado

Indica que o recurso solicitado não pôde ser localizado. Este código é válido para APIs inexistentes ou recursos inexistentes solicitados pelo identificador.

Não

422 entidade não processável

Indica que a solicitação está geralmente bem formada, mas os parâmetros de entrada são inválidos ou o estado do sistema de armazenamento não permite que os Serviços Web satisfaçam a solicitação.

Sim

424 Falha na dependência

Usado no Proxy de serviços da Web para indicar que o sistema de armazenamento solicitado está inacessível no momento. Portanto, os Web Services não podem satisfazer a solicitação.

Não

429 demasiados pedidos

Indica que um limite de solicitação foi excedido e deve ser tentado novamente mais tarde.

Não

Exemplos de scripts

O GitHub contém um repositório para a coleção e organização de scripts de exemplo que ilustram o uso da API de serviços da Web do NetApp SANtricity. Para acessar o repositório, "Amostras de Webservices do NetApp" consulte .