Javascript 向API网关提供多个路径参数(无服务器)
我在一个模块中有一个方法“DB\u Update” 此方法需要几个参数作为输入(InputA、InputB和InputUTC) 我想使用serverless和AWS API网关通过API请求调用函数 因此,在我的无服务器yml文件中添加了该函数Javascript 向API网关提供多个路径参数(无服务器),javascript,aws-api-gateway,serverless,Javascript,Aws Api Gateway,Serverless,我在一个模块中有一个方法“DB\u Update” 此方法需要几个参数作为输入(InputA、InputB和InputUTC) 我想使用serverless和AWS API网关通过API请求调用函数 因此,在我的无服务器yml文件中添加了该函数 DB_Update: handler: ../DB_Update events: - http: path: DB_Update/{InputA, InputB, InputB} me
DB_Update:
handler: ../DB_Update
events:
- http:
path: DB_Update/{InputA, InputB, InputB}
method: get
最后,我使用参数通过Postman调用端点
http://localhost:3000/dev/DB_Update/InputA=9783404163809&InputB=111&InputC=BB
然而,无论我尝试哪种选择,我都无法让它工作。要么yml不接受输入参数的组合,要么我无法取回事件对象
因此,如果您能给我一个提示,告诉我如何进行此操作,那就太好了。谢谢 您需要决定是将参数作为路径参数传递(例如
baseurl/{varA}/{varB}/{varC}
)还是作为查询参数传递(例如baseurl?varA=x&varB=y&varC=z
)。提供对不同模式的更多了解
根据您决定的模式,请求参数应以以下格式包含在serverless.yml
文件中(如果需要,将字段设置为true
,如果可选,将字段设置为false
):
路径参数
DB_Update:
handler: ../DB_Update
events:
- http:
path: DB_Update/{InputA}/{InputB}/{InputC}
method: get
request:
parameters:
paths:
InputA: true
InputB: true
InputC: true
查询参数:
DB_Update:
handler: ../DB_Update
events:
- http:
path: DB_Update
method: get
request:
parameters:
querystrings:
InputA: true
InputB: true
InputC: true
有关更多信息,请访问无服务器框架文档。您需要决定是否要将参数作为路径参数传递(例如
baseurl/{varA}/{varB}/{varC}
)或查询参数(例如baseurl?varA=x&varB=y&varC=z
)。提供对不同模式的更多了解
根据您决定的模式,请求参数应以以下格式包含在serverless.yml
文件中(如果需要,将字段设置为true
,如果可选,将字段设置为false
):
路径参数
DB_Update:
handler: ../DB_Update
events:
- http:
path: DB_Update/{InputA}/{InputB}/{InputC}
method: get
request:
parameters:
paths:
InputA: true
InputB: true
InputC: true
查询参数:
DB_Update:
handler: ../DB_Update
events:
- http:
path: DB_Update
method: get
request:
parameters:
querystrings:
InputA: true
InputB: true
InputC: true
有关更多信息,请访问无服务器框架文档。以上答案回答得很好。请注意,实际上不必在路径参数请求下指定参数。这样就足够了:
DB_Update:
handler: ../DB_Update
events:
- http:
path: DB_Update/{InputA}/{InputB}/{InputC}
method: get
此外,您还可以混合使用路径和查询参数,因此您可以使用如下内容:
handler: ../DB_Update
events:
- http:
path: DB_Update/{InputD}
method: get
request:
parameters:
querystrings:
InputA: true
InputB: true
InputC: true
上面的答案很好。请注意,实际上不必在路径参数请求下指定参数。这样就足够了:
DB_Update:
handler: ../DB_Update
events:
- http:
path: DB_Update/{InputA}/{InputB}/{InputC}
method: get
此外,您还可以混合使用路径和查询参数,因此您可以使用如下内容:
handler: ../DB_Update
events:
- http:
path: DB_Update/{InputD}
method: get
request:
parameters:
querystrings:
InputA: true
InputB: true
InputC: true
非常感谢你。我对您的代码以及推荐的其他源代码进行了彻底的研究。他们帮了我很大的忙,我能修好我的密码。非常感谢。我对您的代码以及推荐的其他源代码进行了彻底的研究。他们非常有帮助,我能够修复我的代码