Criação de uma solicitação de API
Esta seção descreve a estrutura de uma solicitação de API REST e usa a API do APIG para criar um grupo de APIs (consulte a Gerenciamento de grupos de APIs) como um exemplo para demonstrar como chamar uma API.
URI de solicitação
Um URI de solicitação está no seguinte formato:
{URI-scheme} :// {Endpoint} / {resource-path} ? {query-string}
Embora um URI de solicitação esteja incluído no cabeçalho da solicitação, a maioria das linguagens de programação ou estruturas exigem que o URI de solicitação seja transmitido separadamente.
Parâmetro |
Descrição |
---|---|
URI-scheme |
Protocolo usado para transmitir solicitações. Todas as APIs usam HTTPS. |
Endpoint |
Nome de domínio ou endereço IP do servidor que possui o serviço REST. O ponto de extremidade varia entre serviços em diferentes regiões. Pode ser obtido a partir de Pontos de extremidade. |
resource-path |
Caminho de acesso de uma API para executar uma operação especificada. Obtenha o caminho a partir do URI de uma API. Por exemplo, o resource-path da API usado para criar um grupo de APIs é /v2/{project_id}/apigw/instances/{instance_id}/api-groups. {project_id} indica um ID de projeto e {instance_id} indica um ID de gateway. Os dois IDs podem ser obtidos a partir das informações de gateway no console do APIG. |
query-string |
Parâmetro de consulta, que é opcional. Verifique se um ponto de interrogação (?) está incluído antes de cada parâmetro de consulta no formato "Parameter name=Parameter value". Por exemplo, ?limit=10 indica que um máximo de 10 registros de dados serão exibidos. Separar vários parâmetros de consulta com e comercial (&). |
Por exemplo, para criar um grupo de API em uma região, combine os parâmetros no URI. apig_endpoint indica o ponto final de APIG.
https://{apig_endpoint}/v2/{project_id}/apigw/instances/{instance_id}/api-groups
Para simplificar a exibição de URI neste documento, cada API é fornecida apenas com um resource-path e um método de solicitação. O URI-scheme de todas as APIs é HTTPS, e os pontos de extremidade de todas as APIs na mesma região são idênticos.
Métodos de solicitação
O protocolo HTTP define os seguintes métodos de solicitação que podem ser usados para enviar uma solicitação ao servidor:
- GET: solicita que o servidor retorne os recursos especificados.
- PUT: solicita que o servidor atualize os recursos especificados.
- POST: solicita que o servidor adicione recursos ou execute operações especiais.
- DELETE: solicita que o servidor exclua recursos especificados, por exemplo, um objeto.
- HEAD: o mesmo que GET, exceto que o servidor deve retornar apenas o cabeçalho da resposta.
- PATCH: solicita ao servidor que atualize o conteúdo parcial de um recurso especificado. Se o recurso não existir, um novo recurso será criado.
Por exemplo, no caso da API usada para criar um grupo de APIs (veja Gerenciamento de grupos de APIs), o método de solicitação é POST. A solicitação é o seguinte:
POST https://{apig_endpoint}/v2/{project_id}/apigw/instances/{instance_id}/api-groups
Cabeçalho da solicitação
Você também pode adicionar campos de cabeçalho adicionais a uma solicitação, como os campos exigidos por um método de URI ou de HTTP especificado. Por exemplo, para solicitar as informações de autenticação, adicione Content-type, que especifica o tipo de corpo da solicitação.
Os campos comuns de cabeçalho de solicitação são os seguintes:
- Content-Type: especifica o tipo ou formato do corpo da solicitação. Este campo é obrigatório e seu valor padrão é application/json. Outros valores deste campo serão fornecidos para APIs específicas, se houver.
- X-Auth-Token: especifica um token de usuário apenas para autenticação de API baseada em token. O token de usuário é uma resposta à API usada para obter um token de usuário.
Além de oferecer suporte à autenticação baseada em token, as APIs também oferecem suporte à autenticação usando ID da chave de acesso/chave de acesso secreta (AK/SK). Durante a autenticação baseada em AK/SK, um SDK é usado para assinar a solicitação, e os campos de cabeçalho Authorization (informações de assinatura) e X-Sdk-Date (hora em que a solicitação é enviada) são adicionados automaticamente à solicitação.
Para obter mais informações, consulte Autenticação baseada em AK/SK.
A API usada para obter um token de usuário não requer autenticação. Portanto, apenas o campo Content-typeprecisa ser adicionado às solicitações para chamar a API. Um exemplo de tais solicitações é o seguinte:
POST https://{iam_endpoint}/v3/auth/tokens Content-Type: application/json
Corpo da solicitação
O corpo de uma solicitação geralmente é enviado em um formato estruturado, conforme especificado no campo de cabeçalho Content-Type. O corpo da solicitação transfere o conteúdo, exceto o cabeçalho da solicitação.
O corpo da solicitação varia entre as APIs. Algumas APIs não exigem o corpo da solicitação, como as APIs solicitadas usando os métodos GET e DELETE.
No caso da API usada para criar um grupo de API (ver Gerenciamento de grupos de APIs), os parâmetros da solicitação e a descrição do parâmetro podem ser obtidos da solicitação da API. O seguinte fornece um exemplo de solicitação com um corpo incluído. Substitua name (nome do grupo de API) e remark (descrição do grupo de API) com os valores reais.
POST https://{apig_endpoint}/v2/{project_id}/v2/{project_id}/apigw/instances/{instance_id}/api-groups Content-Type: application/json X-Auth-Token: xxxx { "name": "APIGroup_test", "remark": "api group remark" }
Se todos os dados necessários para a solicitação da API estiverem disponíveis, você poderá enviar a solicitação para chamar a API por meio de ondulação, Postman ou codificação.