我正在使用 API Gateway 和 Lambda(无服务器框架)构建一个无服务器应用程序,并试图找到一种方法来提供我们应用程序 API 的多个版本。
这是我能想到的方法。
无服务器.yml
handler: list.handler
events:
- http:
path: {ver}/list
method: get
cors: true
authorizer: aws_iam
列表.js
export async function handler(event, context, callback) {
const ver = event.pathParameters.ver;
if (ver >= '1.0') {
return fooUtil.getNo(ver);
} else {
return 1;
}
}
fooUtil.js
export function getNo(ver) {
if (ver >= 1.3) {
return 3;
} else {
return 2;
}
}
但是,我需要以这种方式将“ver”参数传递给所有函数。
有什么方法更容易(并且可测试)从请求中获取版本号,如下所示?
fooUtil.js
export function getNo() {
if (session.getValue('ver') >= 1.3) {
}
}
我不喜欢划分存储库或 git 分支来管理多个版本。