Provide several Custom Domains and base paths

未关闭
#268 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
停滞
技术栈
aws, java
领域
api, backend, cloud

调研方向

从 uriInfo.getAbsolutePathBuilder() 附近所描述的 Jersey URI 处理以及 service base-path 去除行为开始。然后重现 API Gateway custom-domain、stage-path、SAM Local 和 Tomcat 的情况,并验证存在多个 base paths 时使用第一个匹配项,且创建的资源 URI 保留原始路径。

由索引模型根据 Issue 内容生成。

描述

wontfix
  • 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:

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?

主要语言
Java
星标
1.6k
派生
575
平均合并
1 天 15 小时
30 天内合并 PR
12

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

aws/serverless-java-container 的其他 Issue

查看 aws/serverless-java-container 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。