aws / aws/serverless-java-container

Provide several Custom Domains and base paths

Ouverte
#268 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
wontfix
Langage dominant
Java
Étoiles
1.6k
Forks
574
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

* Framework version: 1.3.2
* Implementations: Jersey

I have several different systems running my serverless container:

1. API Gateway + Lambda with Custom Domain Name at `https://api.myproject.com/v1/users/12345`
custom domain: `api.myproject.com`
base path: `v1/users`

2. API Gateway + Lambda with stage path (for testing development releases): https://ixov38idvk.execute-api.us-east-1.amazonaws.com/dev/users/12345
base path: `users`
3. SAM Local at `http://127.0.0.1:3000/users/12345`
base path: `users`

4. Local Tomcat instance for local testing
base path: `users`

So basically the base path changes from the production stage to all other deployments.

Could we then specify several base paths and the one that first matches is the one to be removed?

Also, I tried to return the URI of a created user with:

```java
URI uriLocation = uriInfo.getAbsolutePathBuilder().path(newUserUuid.toString()).build();
return Response.created(uriLocation).build();
```

But since the service base path was stripped, I get an invalid URI instead, such as `https://api.myproject.com/12345`, instead of `https://api.myproject.com/v1/users/12345`

Is it possible to re-inject the stripped path, so we can programatically get the full URI of the original HTTP Request?

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par la gestion des URI de Jersey décrite autour de uriInfo.getAbsolutePathBuilder() et par le comportement de suppression de service base-path. Reproduisez ensuite les cas API Gateway custom-domain, stage-path, SAM Local et Tomcat, puis vérifiez que, lorsque plusieurs base paths sont présents, la première correspondance est utilisée et que les URI des ressources créées conservent le chemin d’origine.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
aws, java
Domaine
api, backend, cloud
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.