aws / aws/serverless-java-container
Provide several Custom Domains and base paths
- Linguagem predominante
- Java
- Estrelas
- 1.6k
- Forks
- 574
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
* 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?
Guia de contribuição
Direção de pesquisa
Comece pelo tratamento de URI do Jersey descrito em torno de uriInfo.getAbsolutePathBuilder() e pelo comportamento de remoção de service base-path. Reproduza em seguida os casos de API Gateway custom-domain, stage-path, SAM Local e Tomcat e verifique que, quando há vários base paths, a primeira correspondência é usada e que as URIs dos recursos criados mantêm o caminho original.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- aws, java
- Domínio
- api, backend, cloud
- Tipo de issue
- Funcionalidade
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100