Aggiunta di parametri e caratteri jolly di percorso ai percorsi di instradamento

Scopri come aggiungere parametri di percorso e caratteri jolly ai percorsi di instradamento nelle specifiche di distribuzione API con API Gateway.

Potrebbe essere necessario instradare richieste API diverse allo stesso backend, anche quando gli URL delle richieste variano in misura maggiore o minore rispetto alla definizione del percorso di instradamento nella specifica di distribuzione API.

Quando si definisce un percorso di instradamento in una specifica di distribuzione API, è possibile includere un parametro di percorso per sostituire esattamente un singolo segmento del percorso. Se necessario, è possibile includere più parametri di percorso nel percorso. È inoltre possibile aggiungere il carattere jolly asterisco (*) a un parametro di percorso nel percorso di instradamento per offrire maggiore flessibilità durante l'identificazione delle richieste da inviare allo stesso backend.

Gli esempi riportati in questo argomento presuppongono l'aggiunta di percorsi di instradamento a una specifica di distribuzione API in un file JSON. Gli esempi si applicano anche quando si definisce una specifica di distribuzione API utilizzando le finestre di dialogo nella console.

Esempio: aggiunta di parametri di percorso per la corrispondenza di URL simili

Potrebbe essere necessario instradare le richieste con URL simili allo stesso backend. Ad esempio:

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

Per consentire alle chiamate a questi URL simili di risolvere lo stesso backend, aggiungere un nome di parametro di percorso racchiuso tra parentesi graffe come il segmento del percorso di instradamento che varierà tra le chiamate API. Ad esempio, {region} come mostrato di seguito:

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

Tenere presente che i nomi dei parametri del percorso:

  • Può includere caratteri alfanumerici maiuscoli e minuscoli.
  • Può includere il carattere speciale _ di sottolineatura.
  • Impossibile includere altri caratteri speciali. In particolare, si noti che non è possibile includere spazi, barre in avanti e parentesi graffe nei nomi dei parametri del percorso.

Esempio: aggiunta di parametri di percorso con un carattere jolly per la corrispondenza di URL diversi

Potrebbe essere necessario instradare le richieste allo stesso backend, anche se gli URL delle richieste sono significativamente diversi. Ad esempio:

  • 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/

Per abilitare le chiamate a questi URL significativamente diversi da risolvere nello stesso backend:

  • aggiungere un nome di parametro di percorso racchiuso tra parentesi graffe come primo segmento del percorso di percorso che differirà tra le varie chiamate API
  • aggiungere il carattere jolly asterisco (*) alla fine del nome del parametro del percorso

Ad esempio, {generic_welcome*} come mostrato di seguito:

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

Si noti che il nome di un parametro di percorso con un carattere jolly asterisco corrisponderà:

  • nessun segmento di percorso
  • un singolo segmento di percorso
  • più segmenti di percorso