web-dev-qa-db-fra.com

AWS API Gateway - Supprimer le nom de la scène de l'URI

Le nom de l'étape est ajouté à l'URL lorsque je déploie l'API. Supposons que le nom de l'étape est "test", puis que l'URL générée pour la ressource comprend le nom de l'étape. Quelque chose comme: https://abcabc.execute-api.us-east-1.amazonaws.com/test/my/path

Je voudrais supprimer le nom de la scène dans l'URL. Comment puis-je le faire?

26
evansgambit

Vous pouvez le faire avec API Gateway Custom Domains . Cela vous permet éventuellement d'omettre le nom de l'étape dans le mappage de nom de domaine personnalisé.

26
RyanG

Je ne pouvais pas utiliser l'approche des domaines personnalisés dans la réponse acceptée car ma passerelle api est déjà utilisée avec l'étape dans l'URL. Je devais enlever la scène pour un itinéraire particulier. Pour cet exemple, cette route: https://example.com/Apple-app-site-association doit accéder à la route de passerelle api: https://example.com/v1/Apple-app-site -association .

En utilisant cloudfront, 

dans l'onglet Origins, créez une nouvelle origine à pointer vers la passerelle api, y compris la scène:

Nom de domaine d'origine: example.com

Chemin d'origine: /v1

ID d'origine: (donnez-lui un nom unique et notez-le pour l'étape suivante)

(Laissez les paramètres restants par défaut ou modifiez-les selon vos besoins, je définis la stratégie de protocole d'origine: HTTPS Only)

dans l'onglet Behaviors, créez un nouveau comportement:

Modèle de chemin: /Apple-app-site-association

Origine: (l'identifiant d'origine que vous avez défini ci-dessus)

(Laissez les paramètres restants par défaut ou modifiez-les selon vos besoins)

0
joshweir