Exportação de várias APIs
Função
Esta API é usada para exportar a definição básica, completa ou estendida do Swagger de APIs especificadas por seus IDs.
URI
A tabela a seguir lista o método de solicitação HTTP/HTTPS e o URI da API.
| Método de solicitação | URI |
|---|---|
| POST | /v1.0/apigw/openapi/apis?env_id={0}&define={2}&version={3}&type={4} |
A tabela a seguir lista o parâmetro no URI.
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| env_id/env | Sim | String | ID do ambiente em que as APIs de um grupo especificado foram publicadas. Ambos env_id (recomendado) e env podem indicar um ID de ambiente. Se os dois parâmetros estiverem disponíveis, o valor de env_id terá precedência. |
| define | Não | String | Definição do escopo das APIs a serem exportadas:
O valor padrão é base. |
| version | Não | String | Versão das APIs após a exportação. O valor padrão é a data e a hora atuais. |
| type | Não | String | Formato para exportar definições de API. O valor pode ser json ou yaml. O valor padrão é json. |
Solicitação
| Localização | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| body | Sim | String Array | IDs das APIs a serem exportados |
Exemplo de solicitação:
["81efcfd94b8747a0b21e8c04144a4e8c","7addcd00cfab433984b1d8bf2fe08aaa"]
Resposta
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| swagger | Sim | String | O valor é fixado em 2.0. |
| info | Sim | Object | Para mais detalhes, consulte Tabela 5. |
| host | Sim | String | Nome do subdomínio vinculado ao grupo de APIs |
| paths | Sim | Object | consulte Tabela 6. |
| responses | Sim | Object | Resposta comum, que pode ser referenciada em {method}. Para mais detalhes, consulte Tabela 10. |
| securityDefinitions | Sim | Object | Definição do modo de autenticação de segurança. Para mais detalhes, consulte Tabela 14. |
| x-apigateway-access-controls | Não | Object | Informações de controle de acesso. Para mais detalhes, consulte Tabela 24. |
| x-apigateway-ratelimits | Não | Object | Solicitar informações de limitação. Para mais detalhes, consulte Tabela 26. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| title | Sim | String | Nome do grupo da API |
| version | Sim | String | Número da versão. Você pode especificar um número de versão ou usar a data e a hora atuais por padrão. |
| description | Não | String | Descrição do grupo da API |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| uri | Sim | Object | Endereço de acesso da API. Para mais detalhes, consulte Tabela 7. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| method | Sim | Object | Método de acesso da API. Para mais detalhes, consulte Tabela 8. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| operationId | Sim | String | Nome da API |
| description | Não | String | Descrição da API |
| schemes | Sim | Object | Protocolo de solicitação da API. HTTP e HTTPS são suportados. |
| tags | Não | Object | Tags da API |
| parameters | Não | Object | Solicitar definições de parâmetros. Para mais detalhes, consulte Tabela 9. |
| responses | Sim | Object | Definição da resposta. Para mais detalhes, consulte Tabela 10. |
| security | Não | Object | Modo de autenticação de segurança. Para mais detalhes, consulte Tabela 11. |
| x-apigateway-access-control | Não | Object | Política de controle de acesso vinculada à API |
| x-apigateway-backend | Não | Object | Informações de back-end. Para mais detalhes, consulte Tabela 16. |
| x-apigateway-backend-policies | Não | Object | Informações sobre a política de back-end. Para mais detalhes, consulte Tabela 17. |
| x-apigateway-cors | Não | Boolean | Indica se o CORS é suportado. |
| x-apigateway-match-mode | Não | String | Modo de correspondência de rota |
| x-apigateway-ratelimit | Não | String | Nome da política de limitação de solicitações vinculada à API |
| x-apigateway-request-type | Não | String | Tipo de API |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| maximum | Não | Float | Valor máximo de um parâmetro de tipo numérico |
| minimum | Não | Float | Valor mínimo de um parâmetro de tipo numérico |
| maxLength | Não | Integer | Comprimento máximo de um parâmetro de tipo cadeia |
| minLength | Não | Integer | Comprimento mínimo de um parâmetro de tipo cadeia |
| pattern | Não | String | Expressão regular do valor do parâmetro |
| type | Não | String | Tipo |
| default | Não | String | Valor padrão |
| description | Não | String | Descrição do parâmetro |
| name | Não | String | Nome do parâmetro |
| in | Não | String | Local do parâmetro, que pode ser path, header, query, formData ou body |
| required | Não | Boolean | Se o parâmetro é necessário. O parâmetro é necessário quando sua localização é path. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| default | Não | Object | Resposta padrão, que será usada quando nenhum código de status for definido |
| status_code | Não | Object | Código do status da resposta. O valor é um objeto de resposta. Para mais detalhes, consulte Tabela 12. |
| x-apigateway-result-failure-sample | Não | String | Exemplo de resposta para uma solicitação com falha |
| x-apigateway-result-normal-sample | Não | String | Exemplo de resposta para uma solicitação bem-sucedida |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| apig-auth-type | Não | Object | Modo de autenticação de segurança. Este parâmetro é uma matriz nula. Opções:
|
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| description | Não | String | Descrição da resposta |
| schema | Não | Object | Corpo da resposta. Para mais detalhes, consulte Tabela 13. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| description | Não | String | Descrição do corpo |
| type | Não | String | Tipo de corpo, que pode ser FORM ou STREAM |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| name | Sim | Object | Modo de autenticação de segurança. Para mais detalhes, consulte Tabela 15. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| type | Sim | String | Tipo de autenticação. O apiKey é suportado. |
| name | Sim | String | Nome do apiKey |
| in | Sim | String | Localização do apiKey |
| x-apigateway-auth-type | Sim | String | Tipo de autenticação estendido com base no apiKey. Os tipos de autenticação AppSigv1, IAM e IAM_NONE são suportados. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| type | Sim | String | Tipo de back-end. As opções incluem HTTP, HTTP-VPC, FUNCTIONe MOCK. |
| parameters | Não | Object | Parâmetros de back-end. Para mais detalhes, consulte Tabela 18. |
| backend_define | Sim | Object | Definição de back-end As seguintes definições de back-end são suportadas: |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| type | Sim | String | Tipo de back-end. As opções incluem HTTP, HTTP-VPC, FUNCTIONe MOCK. |
| name | Sim | String | Nome da política de back-end |
| parameters | Não | Object | Parâmetros de back-end. Para mais detalhes, consulte Tabela 18. |
| backend_define | Sim | Object | Definição de back-end As seguintes definições de back-end são suportadas: |
| conditions | Sim | Object | Condições de políticas. Para mais detalhes, consulte Tabela 23. |
| effectMode | Sim | String | Modo efetivo da política de back-end. As opções incluem ANY e ALL. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| name | Sim | String | Nome do parâmetro, que consiste em um máximo de 32 bytes, começando com uma letra. Somente letras, dígitos, pontos (.), hifens (-) e sublinhados (_) são permitidos. Os nomes dos parâmetros de cabeçalho não diferenciam maiúsculas de minúsculas. |
| value | Sim | String | Valor de parâmetro, que é um nome de parâmetro se o parâmetro vem de uma solicitação |
| in | Sim | String | Local do parâmetro, que pode ser header, query ou path |
| origin | Sim | String | Origem do mapeamento do parâmetro. As opções incluem REQUEST e CONSTANT. |
| description | Não | String | Significado do parâmetro |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| address | Sim | String | Endereço do serviço de back-end. O formato é <Nome de domínio ou endereço IP>:[Número da porta] |
| scheme | Sim | String | Protocolo de solicitação de back-end. HTTP e HTTPS são suportados. |
| method | Sim | String | Método de solicitação de back-end. As opções incluem GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH e ANY. |
| path | Sim | String | Caminho de solicitação de back-end, que pode conter variáveis. |
| timeout | Não | Integer | Tempo limite de solicitação de back-end em milissegundos. O valor varia de 1 a 60.000 e o valor padrão é 5000. |
| description | Não | String | Descrição do back-end |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| name | Sim | Array | Nome do canal da VPC |
| scheme | Sim | String | Protocolo de solicitação de back-end. HTTP e HTTPS são suportados. |
| method | Sim | String | Método de solicitação de back-end. As opções incluem GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH e ANY. |
| path | Sim | String | Caminho de solicitação de back-end, que pode conter variáveis. |
| timeout | Não | Integer | Tempo limite de solicitação de back-end em milissegundos. O valor varia de 1 a 60.000 e o valor padrão é 5000. |
| host | Não | String | Host de proxy de canal da VPC |
| description | Não | String | Descrição do back-end |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| function-urn | Sim | String | Função URN |
| version | Sim | String | Versão da função |
| invocation-type | Sim | String | Tipo de invocação da função. O valor pode ser async ou sync. |
| timeout | Não | Integer | Tempo limite da função em milissegundos. O valor varia de 1 a 60.000 e o valor padrão é 5000. |
| description | Não | String | Descrição do back-end |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| result-content | Sim | String | Resposta fictícia |
| description | Não | String | Descrição do back-end |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| type | Sim | String | Tipo de condição de política. As opções incluem equal, enum e pattern. |
| value | Sim | String | Valor da condição de política |
| origin | Sim | String | Origem da condição de política. As opções incluem source e request. |
| parameter | Não | String | Nome do parâmetro de entrada se o parâmetro origin estiver definido como request. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| acl_name | Não | Object | Política de controle de acesso. Para mais detalhes, consulte Tabela 25. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| acl-type | Sim | String | Efeito de controle de acesso. As opções incluem PERMIT e DENY. |
| entity-type | Sim | String | Objeto de controle de acesso. Apenas endereços IP e contas são suportados. |
| value | Sim | String | Valores de controle de acesso, que são separados por vírgulas (,). |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| throttle_name | Não | Object | Solicitar política de limitação Para mais detalhes, consulte Tabela 27. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| api-limit | Sim | Integer | Número máximo de vezes que uma API pode ser chamada |
| user-limit | Não | Integer | Número de vezes que a API pode ser chamada por um usuário |
| app-limit | Não | Integer | Número de vezes que a API pode ser chamada por uma aplicação |
| ip-limit | Não | Integer | Número de vezes que a API pode ser chamada por um endereço IP |
| interval | Sim | Integer | Período de limitação |
| unit | Sim | String | Unidade de limitação, que pode ser SECOND, MINUTE, HOUR ou DAY |
| shared | Não | Boolean | Se compartilhar os limites entre as APIs |
| special | Não | Object | Configurações de limitação de solicitação excluídas. Para mais detalhes, consulte Tabela 28. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| type | Sim | String | Excluído o tipo de solicitação de limitação, que pode ser APP ou USER |
| limit | Sim | Integer | Limite de acesso |
| instance | Sim | String | Aplicação ou usuário excluído |
Exemplo de resposta:
{
"swagger": "2.0",
"info": {
"description": "api group test",
"title": "APIGroup_test",
"version": "2019-09-12-17:38:10"
},
"host": "6b075335476a4943bf70c3db1343c912.apigw.example.com",
"paths": {
"/test/{path}": {
"get": {
"security": [
{
"apig-auth-app": []
}
],
"description": "api test",
"schemes": [
"https"
],
"operationId": "API_test",
"parameters": [
{
"type": "string",
"description": "header parameter",
"name": "header",
"in": "header",
"required": true
},
{
"type": "string",
"description": "path parameter",
"name": "path",
"in": "path",
"required": true
},
{
"type": "number",
"default": "123",
"description": "query parameter",
"name": "query",
"in": "query"
}
],
"responses": {
"default": {
"$ref": "#/responses/default"
},
"x-apigateway-result-failure-sample": "",
"x-apigateway-result-normal-sample": "success"
},
"x-apigateway-backend": {
"httpEndpoints": {
"address": "1.1.1.1:443",
"description": "",
"method": "GET",
"path": "/test/{path}",
"scheme": "https",
"timeout": 5000
},
"parameters": [
{
"description": "",
"in": "HEADER",
"name": "header",
"origin": "REQUEST",
"value": "header"
},
{
"description": "",
"in": "PATH",
"name": "path",
"origin": "REQUEST",
"value": "path"
},
{
"description": "",
"in": "QUERY",
"name": "query",
"origin": "REQUEST",
"value": "query"
}
],
"type": "HTTP"
},
"x-apigateway-backend-policies": [
{
"conditions": [
{
"origin": "param",
"parameter": "path",
"type": "exact",
"value": "path"
},
{
"origin": "source",
"parameter": "",
"type": "",
"value": "1.0.0.0/8"
}
],
"effectMode": "ANY",
"httpVpcEndpoints": {
"method": "POST",
"name": "VPC_n9ct",
"path": "/",
"scheme": "HTTPS",
"timeout": 5000
},
"name": "policy_test",
"type": "HTTP-VPC"
}
],
"x-apigateway-cors": false,
"x-apigateway-match-mode": "NORMAL",
"x-apigateway-request-type": "public"
}
}
},
"responses": {
"default": {
"description": "response example"
}
},
"securityDefinitions": {
"apig-auth-app": {
"type": "apiKey",
"name": "Authorization",
"in": "header",
"x-apigateway-auth-type": "AppSigv1"
},
"apig-auth-iam": {
"type": "apiKey",
"name": "unused",
"in": "header",
"x-apigateway-auth-type": "IAM"
}
}
} Códigos de status
| Código de status | Descrição |
|---|---|
| 200 | OK |
| 400 | Solicitação inválida |
| 401 | Não autorizado |
| 403 | Proibido |
| 500 | Erro do servidor interno |