Agregación de parámetros de ruta de acceso y comodines a rutas de acceso

Descubra cómo agregar parámetros de ruta y comodines a las rutas de acceso en especificaciones de despliegue de API con API Gateway.

Puede que desee que distintas solicitudes de API se direccionen al mismo backend, incluso si las URL de solicitud varían a una extensión mayor o menor de la definición de ruta de acceso en la especificación de despliegue de API.

Al definir una ruta de acceso en una especificación de despliegue de API, puede incluir un parámetro de ruta para reemplazar con precisión un segmento individual de la ruta. Si es necesario, puede incluir varios parámetros de ruta en la ruta de acceso. También puede agregar el comodín de asterisco (*) a un parámetro de ruta en la ruta de acceso para proporcionar aún más flexibilidad a la hora de identificar solicitudes que se enviarán al mismo backend.

En los ejemplos de este tema se supone que está agregando rutas de acceso a una especificación de despliegue de API en un archivo JSON. Tenga en cuenta que los ejemplos también se aplican al definir una especificación de despliegue de API mediante cuadros de diálogo de la consola.

Ejemplo: agregación de parámetros de ruta de acceso para que coincidan con URL similares

Puede tener un requisito para solicitudes de ruta con URL similares para el mismo backend. Por ejemplo:

  • https://<gateway-hostname>/marketing/hello/us/index.html
  • https://<gateway-hostname>/marketing/hello/apac/index.html
  • https://<gateway-hostname>/marketing/hello/emea/index.html

Para activar llamadas a estas URL similares para que se resuelvan en el mismo backend, agregue un nombre de parámetro de ruta incluido entre corchetes angulares como segmento de la ruta de acceso que variará entre llamadas de API. Por ejemplo, {region}, como se muestra a continuación:

{
  "routes": [
    {
      "path": "/hello/{region}/index.html",
      "methods": ["GET"],
      "backend": {
        "type": "ORACLE_FUNCTIONS_BACKEND",
        "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
      }
    }
  ]
}

Tenga en cuenta los siguientes puntos sobre los nombres de parámetros de ruta de acceso:

  • Pueden incluir caracteres alfanuméricos en mayúscula y minúscula.
  • Pueden incluir el carácter especial de guion bajo _.
  • No pueden incluir otros caracteres especiales. Especialmente, tenga en cuenta que no se pueden incluir espacios, barras inclinadas ni corchetes angulares en los nombres de parámetros de ruta de acceso.

Ejemplo: agregación de parámetros de ruta de acceso con un comodín para que coincidan con URL no similares

Puede tener un requisito para solicitudes de ruta para el mismo backend, incluso si las URL de solicitud son muy diferentes. Por ejemplo:

  • https://<gateway-hostname>/marketing/hello/us/index.html
  • https://<gateway-hostname>/marketing/hello/apac/introduction/
  • https://<gateway-hostname>/marketing/hello/emea/welcome.html
  • https://<gateway-hostname>/marketing/hello/introduction
  • https://<gateway-hostname>/marketing/hello/top.html
  • https://<gateway-hostname>/marketing/hello/

Para activar llamadas a estas URL tan diferentes para que se resuelvan en el mismo backend:

  • Agregue un nombre de parámetro de ruta incluido entre corchetes angulares como primer segmento de la ruta de acceso que será diferente entre las distintas llamadas a la API.
  • Agregue el comodín de asterisco (*) al final del nombre del parámetro de ruta de acceso.

Por ejemplo, {generic_welcome*}, como se muestra a continuación:

{
  "routes": [
    {
      "path": "/hello/{generic_welcome*}",
      "methods": ["GET"],
      "backend": {
        "type": "ORACLE_FUNCTIONS_BACKEND",
        "functionId": "ocid1.fnfunc.oc1.phx.aaaaaaaaab______xmq"
      }
    }
  ]
}

Tenga en cuenta que un nombre de un parámetro de ruta de acceso con un comodín de asterisco:

  • No coincidirá con ningún segmento de ruta de acceso.
  • Coincidirá con un único segmento de ruta de acceso.
  • Coincidirá con varios segmentos de ruta de acceso.