Modificação de uma API
Função
Esta API é usada para modificar as informações sobre uma API, incluindo suas informações de back-end.
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 |
|---|---|
| PUT | /v1.0/apigw/apis/{id} |
A tabela a seguir lista o parâmetro no URI.
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| id | Sim | String | ID da API, que pode ser obtido consultando as informações da API |
Solicitação
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| group_id | Não | String | ID do grupo de APIs ao qual a API pertence. O valor deste parâmetro não pode ser modificado. |
| name | Sim | String | Nome da API Um nome de API consiste em 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos. |
| type | Sim | Integer | Indica se a API está disponível para o público. O valor pode ser:
|
| version | Não | String | Versão da API São permitidos no máximo 16 caracteres. |
| req_protocol | Não | String | Protocolo de solicitação, que pode ser:
Valor padrão: HTTPS |
| req_method | Sim | String | Método de solicitação, que pode ser:
|
| req_uri | Sim | String | Endereço de acesso NOTA: O valor deste parâmetro deve estar em conformidade com as especificações de URI. |
| match_mode | Não | String | Modo de correspondência de rota, que pode ser:
|
| remark | Não | String | Descrição da API A descrição não pode exceder 255 caracteres. |
| auth_type | Sim | String | Modo de autenticação de segurança, que pode ser:
|
| auth_opt | Não | Dicionário | Parâmetro de modo de autenticação de segurança |
| authorizer_id | Não | String | ID do autorizador personalizado do front-end |
| backend_type | Sim | String | Tipo de back-end, que pode ser:
|
| tag | Não | String | Tag de nome do serviço Este campo será descartado. |
| tags | Não | []String | Tags da API Opcional. Este parâmetro contém uma tag de nome de serviço e outras tags. A tag de nome do serviço deve começar com APIG-SN-. Outras tags não podem começar com APIG-SN-. |
| cors | Não | Bool | Indica se o CORS é suportado.
Valor padrão: FALSE |
| body_remark | Não | String | Descrição do corpo da solicitação da API, que pode ser um exemplo de corpo da solicitação, tipo de mídia ou informações de parâmetro A descrição não pode exceder 20.480 caracteres. |
| result_normal_sample | Não | String | Exemplo de resposta para uma solicitação bem-sucedida O comprimento não pode exceder 20.480 caracteres. |
| result_failure_sample | Não | String | Exemplo de resposta para uma solicitação com falha O comprimento não pode exceder 20.480 caracteres. |
| response_id | Não | String | ID da resposta do gateway |
| backend_api | Necessário se backend_type estiver definido como HTTP. | Dicionário | Detalhes do back-end da Web |
| mock_info | Necessário se backend_type estiver definido como MOCK. | Dicionário | Detalhes do back-end fictício |
| func_info | Obrigatório se backend_type estiver definido como FUNCTION. | Dicionário | Detalhes do back-end do FunctionGraph |
| req_params | Não | Dicionário | Lista de parâmetros de solicitação |
| backend_params | Não | Dicionário | Lista de parâmetros de back-end |
| policy_https | Opcional se backend_type estiver definido como HTTP. | Dicionário | Lista de políticas de back-end da Web |
| policy_mocks | Opcional se backend_type estiver definido como MOCK. | Dicionário | Lista de política de back-end fictícia |
| policy_functions | Opcional se backend_type estiver definido como FUNCTION. | Dicionário | Lista de políticas de back-end do FunctionGraph |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| url_domain | Necessário quando nenhum canal de VPC é usado. | String | Ponto de extremidade de back-end Um URL de ponto de extremidade está no formato de "nome de domínio (ou endereço IP):número da porta", com até 255 caracteres. Por exemplo, apig.example.com:7443. Por padrão, o número da porta seria 443 para HTTPS ou 80 para HTTP se não for especificado. Um ponto de extremidade pode conter variáveis de ambiente, cada uma começando com uma letra e consistindo de 3 a 32 caracteres. Somente letras, dígitos, hifens (-) e sublinhados (_) são permitidos em variáveis de ambiente. |
| version | Não | String | Versão de back-end da Web São permitidos no máximo 16 caracteres. |
| req_protocol | Sim | String | Protocolo de solicitação, que pode ser:
|
| req_method | Sim | String | Método de solicitação, que pode ser:
|
| req_uri | Sim | String | Solicitar endereço NOTA: O valor deste parâmetro deve estar em conformidade com as especificações de URI. |
| timeout | Sim | Integer | Duração do tempo limite para o APIG solicitar o serviço de back-end. Faixa: 1–60.000. Unidade: ms. Valor padrão: 45000. Este valor será usado se o valor especificado estiver fora do intervalo permitido. |
| remark | Não | String | Descrição do back-end da Web A descrição não pode exceder 255 caracteres. |
| vpc_status | Não | Integer | Indica se um canal da VPC deve ser usado. O valor pode ser:
|
| vpc_info | Obrigatório se vpc_status for definido como 1. | Dicionário | Detalhes do canal da VPC |
| authorizer_id | Não | String | ID do autorizador personalizado de back-end |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| vpc_id | Sim | String | ID do canal da VPC |
| vpc_proxy_host | Não | String | Host do proxy |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| result_content | Não | String | Resposta fictícia |
| version | Não | String | Versão do back-end fictício São permitidos no máximo 64 caracteres. |
| remark | Não | String | Descrição do back-end fictício A descrição não pode exceder 255 caracteres. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| function_urn | Sim | String | Função URN |
| invocation_type | Sim | String | Modo de invocação, que pode ser async ou sync |
| timeout | Sim | Integer | Duração do tempo limite para que o APIG solicite FunctionGraph. Faixa: 1–60.000. Unidade: ms. Valor padrão: 45000. Este valor será usado se o valor especificado estiver fora do intervalo permitido. |
| version | Não | String | Versão da função São permitidos no máximo 64 caracteres. |
| remark | Não | String | Descrição da função A descrição não pode exceder 255 caracteres. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| name | Sim | String | Nome do parâmetro Um nome de parâmetro consiste em 1 a 32 caracteres, começando com uma letra. Somente letras, dígitos, pontos (.), hifens (-) e sublinhados (_) são permitidos. |
| type | Sim | String | Tipo de parâmetro, que pode ser:
|
| location | Sim | String | Localização do parâmetro, que pode ser:
|
| default_value | Não | String | Valor padrão |
| sample_value | Não | String | Exemplo de valor |
| required | Não | Integer | Indica se o parâmetro é obrigatório.
O valor deste parâmetro é 1 se Location for definido como PATH e 2 se Location for definido como outro valor. |
| valid_enable | Não | Integer | Indica se a verificação de validade está habilitada.
O valor padrão é 2. |
| remark | Não | String | Descrição do parâmetro A descrição não pode exceder 255 caracteres. |
| enumerations | Não | String | Valor enumerado |
| min_num | Não | Integer | Valor mínimo, que é válido quando o tipo de parâmetro é NUMBER |
| max_num | Não | Integer | Valor máximo, que é válido quando o tipo de parâmetro é NUMBER |
| min_size | Não | Integer | Comprimento mínimo |
| max_size | Não | Integer | Comprimento máximo |
| regular | Não | String | Regra de verificação regular (atualmente não suportada) |
| json_schema | Não | String | Regra de verificação JSON (atualmente não suportada) |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| name | Sim | String | Nome do parâmetro Um nome de parâmetro consiste em 1 a 32 caracteres, começando com uma letra. Somente letras, dígitos, pontos (.), hifens (-) e sublinhados (_) são permitidos. |
| location | Sim | String | Localização do parâmetro, que pode ser:
|
| origin | Sim | String | Tipo de parâmetro, que pode ser:
|
| value | Sim | String | Valor do parâmetro, que não pode conter mais de 255 caracteres Se origin estiver definida como REQUEST, o valor será o nome do parâmetro em req_params. Se origin estiver definido como CONSTANT, o valor é o valor real do parâmetro back-end. Se origin estiver definida como SYSTEM, o valor será o nome do parâmetro gateway. |
| remark | Não | String | Descrição do parâmetro A descrição não pode exceder 255 caracteres. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| name | Sim | String | Nome do back-end Um nome de back-end consiste em 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos. |
| url_domain | Necessário quando nenhum canal de VPC é usado. | String | Ponto de extremidade do back-end da política Um ponto de extremidade consiste em um nome de domínio ou endereço IP e um número de porta, com não mais de 255 caracteres. Deve estar no formato "Nome do domínio:Número da porta", por exemplo, apig.example.com:7443. Por padrão, o número da porta seria 443 para HTTPS ou 80 para HTTP se não for especificado. Um ponto de extremidade pode conter variáveis de ambiente, cada uma começando com uma letra e consistindo de 3 a 32 caracteres. Somente letras, dígitos, hifens (-) e sublinhados (_) são permitidos em variáveis de ambiente. |
| req_protocol | Sim | String | Protocolo de solicitação, que pode ser:
|
| req_method | Sim | String | Método de solicitação, que pode ser:
|
| req_uri | Sim | String | Solicitar endereço Um endereço de solicitação pode conter até 512 caracteres e deve estar em conformidade com as especificações de URI. O endereço de solicitação pode conter variáveis de ambiente, cada uma começando com uma letra e consistindo de 3 a 32 caracteres. Somente letras, dígitos, hifens (-) e sublinhados (_) são permitidos em variáveis de ambiente. NOTA: O valor deste parâmetro deve estar em conformidade com as especificações de URI. |
| timeout | Não | Integer | Duração do tempo limite para o APIG solicitar o serviço de back-end. Faixa: 1–60.000. Unidade: ms. Valor padrão: 45000. Este valor será usado se o valor especificado estiver fora do intervalo permitido. |
| vpc_status | Não | Integer | Indica se um canal da VPC deve ser usado. O valor pode ser:
|
| vpc_info | Obrigatório se vpc_status for definido como 1. | Dicionário | Detalhes do canal da VPC |
| effect_mode | Sim | String | Modo efetivo da política de back-end
|
| conditions | Sim | Dicionário | Lista de condições de política |
| backend_params | Não | Dicionário | Lista de parâmetros de back-end |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| name | Sim | String | Nome do back-end Um nome de back-end consiste em 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos. |
| result_content | Não | String | Resposta fictícia |
| effect_mode | Sim | String | Modo efetivo da política de back-end
|
| conditions | Sim | Dicionário | Lista de condições de política |
| backend_params | Não | Dicionário | Lista de parâmetros de back-end |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| name | Sim | String | Nome do back-end Um nome de back-end consiste em 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos. |
| function_urn | Sim | String | Função URN |
| invocation_type | Sim | String | Modo de invocação, que pode ser async ou sync |
| timeout | Não | Integer | Duração do tempo limite para que o APIG solicite FunctionGraph. Faixa: 1–60.000. Unidade: ms. Valor padrão: 45000. Este valor será usado se o valor especificado estiver fora do intervalo permitido. |
| version | Não | String | Versão da função São permitidos no máximo 64 caracteres. |
| effect_mode | Sim | String | Modo efetivo da política de back-end
|
| conditions | Sim | Dicionário | Lista de condições de política |
| backend_params | Não | Dicionário | Lista de parâmetros de back-end |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| condition_type | Obrigatório se o tipo de política for param. | String | Tipo de condição. Opções:
|
| condition_value | Sim | String | Valor da condição |
| condition_origin | Sim | String | Fonte da condição. Opções:
|
| req_param_name | Obrigatório se o tipo de política for param. | String | Nome do parâmetro de entrada |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| app_code_auth_type | Não | String | Indica se a autenticação AppCode está habilitada. Esse parâmetro é válido somente quando auth_type é definido como App. O valor padrão é DISABLE.
|
{
"auth_type": "app",
"auth_opt": {
"app_code_auth_type": "HEADER"
},
"backend_api": {
"req_method": "get",
"req_protocol": "http",
"req_uri": "/test",
"timeout": 1000,
"url_domain": "xxxxxxxxx"
},
"backend_params": [
{
"location": "query",
"name": "project_id",
"origin": "request",
"value": "project_id"
},
{
"location": "query",
"name": "city",
"origin": "request",
"value": "city"
}
],
"backend_type": "http",
"group_id": "f71f69876f90456ca6fd18ed012fdc11",
"name": "test",
"req_method": "get",
"req_params": [
{
"location": "path",
"name": "project_id",
"required": 1,
"type": "string"
},
{
"location": "query",
"name": "city",
"required": 2,
"type": "string"
}
],
"req_uri": "/test/{project_id}",
"tags": ["APIG-SN-test", "test"],
"type": 1,
"result_normal_sample": "hello world!"
} Resposta
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID da API |
| name | String | Nome da API |
| group_id | String | ID do grupo de APIs ao qual a API pertence |
| group_name | String | Nome do grupo de APIs ao qual a API pertence |
| status | Integer | Status da API |
| type | Integer | Tipo de API |
| version | String | Versão da API |
| req_protocol | String | Protocolo de solicitação |
| req_method | String | Método de solicitação |
| req_uri | String | Endereço de acesso |
| auth_type | String | Modo de autenticação de segurança |
| auth_opt | Object | Parâmetro de modo de autenticação de segurança |
| match_mode | String | Modo de correspondência |
| register_time | Timestamp | Hora em que a API é registrada |
| update_time | Timestamp | Hora em que a API foi modificada pela última vez |
| remark | String | Descrição da API |
| bakend_type | String | Tipo de back-end |
| run_env_name | String | Nome do ambiente no qual a API foi publicada |
| run_env_id | String | ID do ambiente no qual a API foi publicada |
| publish_id | String | ID do registro de publicação |
| arrange_necessary | Integer | Indica se a orquestração é necessária. |
| tag | String | Tag de nome de serviço, que deve ser descartada |
| tags | []String | Tags da API |
| cors | Bool | Indica se o CORS é suportado. |
| body_remark | String | Descrição do corpo da solicitação da API, que pode ser um exemplo de corpo da solicitação, tipo de mídia ou informações de parâmetro |
| result_normal_sample | String | exemplo de resposta para uma solicitação bem-sucedida |
| result_failure_sample | String | Exemplo de resposta para uma solicitação com falha |
| response_id | String | ID da resposta do gateway |
| backend_api | Dicionário | Detalhes do back-end da Web |
| mock_info | Dicionário | Detalhes do back-end fictício |
| func_info | Dicionário | Detalhes do back-end do FunctionGraph |
| req_params | Dicionário | Lista de parâmetros de solicitação |
| backend_params | Dicionário | Lista de parâmetros de back-end |
| policy_https | Dicionário | Lista de políticas de back-end da Web |
| policy_mocks | Dicionário | Lista de política de back-end fictícia |
| policy_functions | Dicionário | Lista de políticas de back-end do FunctionGraph |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID de back-end da Web |
| status | Integer | Status do back-end da Web |
| url_domain | String | Ponto de extremidade de back-end |
| version | String | Versão de back-end da Web |
| req_protocol | String | Protocolo de solicitação |
| req_method | String | Método de solicitação |
| req_uri | String | Endereço de acesso |
| timeout | Integer | Duração do tempo limite em milissegundos |
| register_time | Timestamp | Hora em que o back-end da web é registrado |
| update_time | Timestamp | Hora em que o back-end da Web foi modificado pela última vez |
| remark | String | Descrição do back-end da Web |
| vpc_status | String | Indica se um canal da VPC deve ser usado. |
| vpc_info | String | Informações do canal da VPC |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID de back-end simulado |
| status | Integer | Status de back-end fictício |
| version | String | Versão do back-end fictício |
| result_content | String | Resposta fictícia |
| register_time | Timestamp | Hora em que o back-end simulado é registrado |
| update_time | Timestamp | Hora em que o back-end simulado foi modificado pela última vez |
| remark | String | Descrição do back-end fictício |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID da função |
| status | Integer | Status da função |
| version | String | Versão da função |
| function_urn | String | Função URN |
| invocation_type | String | Modo de invocação, que pode ser async ou sync |
| register_time | Timestamp | Hora em que a função é registrada |
| update_time | Timestamp | Hora em que a função foi atualizada pela última vez |
| timeout | Integer | Duração do tempo limite em milissegundos |
| remark | String | Descrição da função |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID do parâmetro |
| name | String | Nome do parâmetro |
| type | String | Tipo de parâmetro |
| location | String | Localização do parâmetro |
| default_value | String | Valor padrão |
| sample_value | String | Exemplo de valor |
| required | Integer | Indica se o parâmetro é obrigatório. |
| valid_enable | Integer | Indica se a verificação de validade está habilitada. |
| remark | String | Descrição do parâmetro |
| enumerations | String | Valor enumerado |
| min_num | Integer | Valor mínimo, que é válido quando o tipo de parâmetro é NUMBER |
| max_num | Integer | Valor máximo, que é válido quando o tipo de parâmetro é NUMBER |
| min_size | Integer | Comprimento mínimo |
| max_size | Integer | Comprimento máximo |
| regular | String | Regra de verificação regular (atualmente não suportada) |
| json_schema | String | Regra de verificação JSON (atualmente não suportada) |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID do parâmetro |
| req_param_id | String | ID do parâmetro de solicitação para o qual o parâmetro de back-end é mapeado |
| name | String | Nome do parâmetro |
| location | String | Localização do parâmetro |
| origin | String | Tipo de parâmetro |
| value | String | Valor do parâmetro |
| remark | String | Descrição do parâmetro |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID da política de back-end |
| name | String | Nome do back-end |
| url_domain | String | Ponto de extremidade do back-end da política |
| req_protocol | String | Protocolo de solicitação |
| req_method | String | Método de solicitação |
| req_uri | String | Endereço de acesso |
| timeout | Integer | Duração do tempo limite em milissegundos |
| vpc_status | String | Indica se um canal da VPC deve ser usado. |
| vpc_info | String | Informações do canal da VPC |
| effect_mode | String | Modo efetivo da política de back-end |
| conditions | Dicionário | Lista de condições de política |
| backend_params | Dicionário | Lista de parâmetros de back-end |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID da política de back-end |
| name | String | Nome do back-end |
| result_content | String | Resposta fictícia |
| effect_mode | String | Modo efetivo da política de back-end |
| conditions | Dicionário | Lista de condições de política |
| backend_params | Dicionário | Lista de parâmetros de back-end |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID da política de back-end |
| name | String | Nome do back-end |
| version | String | Versão da função |
| function_urn | String | Função URN |
| invocation_type | String | Modo de invocação, que pode ser async ou sync |
| timeout | Integer | Duração do tempo limite em milissegundos |
| effect_mode | String | Modo efetivo da política de back-end |
| conditions | Dicionário | Lista de condições de política |
| backend_params | Dicionário | Lista de parâmetros de back-end |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID da condição da política de back-end |
| condition_type | String | Tipo de condição |
| condition_value | String | Valor da condição |
| condition_origin | String | Fonte da condição |
| req_param_name | String | Nome do parâmetro de entrada |
| req_param_id | String | ID do parâmetro de entrada |
| req_param_location | String | Localização do parâmetro de entrada |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| app_code_auth_type | String | Indica se a autenticação AppCode está habilitada. |
Exemplo de resposta:
{
"name": "test",
"type": 1,
"version": "V0.0.1",
"req_protocol": "HTTPS",
"req_method": "GET",
"req_uri": "/test/{tenant_id}",
"auth_type": "APP",
"auth_opt": {
"app_code_auth_type": "DISABLE"
},
"tags": ["APIG-SN-test", "test"],
"cors": false,
"match_mode": "NORMAL",
"backend_type": "HTTP",
"group_id": "f71f69876f90456ca6fd18ed012fdc11",
"result_normal_sample": "hello world!",
"id": "81efcfd94b8747a0b21e8c04144a4e8c",
"status": 1,
"arrange_necessary": 2,
"register_time": "2018-08-15T03:41:11.0239936Z",
"update_time": "2018-08-15T03:41:11.0239936Z",
"group_name": "group0002",
"backend_api": {
"url_domain": "xxxxxxxxxxx",
"req_protocol": "HTTP",
"req_method": "GET",
"req_uri": "/test",
"timeout": 1000,
"vpc_status": 2,
"id": "3442ffd031814e3a8f133a9f1ea08453",
"status": 1,
"register_time": "2018-08-15T03:41:11.1019236Z",
"update_time": "2018-08-15T03:41:11.1019236Z"
},
"req_params": [
{
"name": "tenant_id",
"type": "STRING",
"location": "PATH",
"required": 1,
"valid_enable": 2,
"id": "593c5560e0924e00af08fb458f850ecb"
},
{
"name": "city",
"type": "STRING",
"location": "QUERY",
"required": 2,
"valid_enable": 2,
"id": "e0b91bc81ae54f8ea850848d782d6e1e"
}
],
"backend_params": [
{
"name": "tenant_id",
"location": "QUERY",
"origin": "REQUEST",
"value": "tenant_id",
"id": "44e03de2351e43a8b18ba9ec1e71d2e9",
"req_param_id": "593c5560e0924e00af08fb458f850ecb"
},
{
"name": "city",
"location": "QUERY",
"origin": "REQUEST",
"value": "city",
"id": "b60fbcb5b86f4f5c8705c445b9bd6325",
"req_param_id": "e0b91bc81ae54f8ea850848d782d6e1e"
}
],
"policy_https": [{
"conditions": [{
"id": "44e03de2351e43a8b18ba9ec1e71d2e9",
"condition_type": "pattern",
"condition_value": "^[0-9]$",
"condition_origin": "param",
"req_param_name": "project_id",
"req_param_id": "b60fbcb5b86f4f5c8705c445b9sda325",
"req_param_location": "PATH"
}],
"backend_params": [{
"name": "project_id",
"value": "bbbb",
"location": "QUERY",
"origin": "REQUEST",
"id": "44e03de2351e43a8b18ba9ec1e71d2e8",
"req_param_id": "593c5560e0924e00af08fb458f850ecb"
}],
"effect_mode": "ANY",
"id": "44e03de2351e43a8b18ba9ec1e71d2e8",
"name": "policy001",
"req_method": "GET",
"req_protocol": "http",
"req_uri": "/test/policy",
"timeout": 10000,
"url_domain": "xxxxxxxxxxx",
"vpc_status": 2
}]
} Códigos de status
| Código de status | Descrição |
|---|---|
| 200 | OK |
| 400 | Solicitação inválida |
| 401 | Não autorizado |
| 403 | Proibido |
| 404 | Não encontrado |
| 409 | Conflito |
| 500 | Erro do servidor interno |