aws / aws/serverless-java-container

Provide several Custom Domains and base paths

Aberta
#268 5 comentários 0 reações 0 responsáveis Ver no GitHub
wontfix
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

Abrir o 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

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.