如何在我创建的API网关SDK中设置请求路径参数?
我有一个像这样的PUT请求:/users/{id}
当我在API网关GUI中测试它时效果很好。我被要求提供ID参数。
但是当我创建SDK时,我得到以下方法(Android / Java):
@Operation(
path = "/users/{id}",
method = "PUT"
)
void usersIdPut(UserPut var1);
我无法改变路径。它将在其中调用{id}
字面的URL。
我试图将ID放入UserPut模型但没有区别。
我该怎么做?
答案 0 :(得分:0)
我无法重现该问题,我有一个请求模型,响应模型和方法上的一个路径参数,我从SDK客户端获取此信息:
@Operation(
path = "/mappingtest/{id}",
method = "GET"
)
Empty mappingtestIdGet(@Parameter(
name = "id",
location = "path"
) String var1, Empty var2);
您可以检查以确保参数在“请求路径”中定义。方法请求部分?此外,您已部署了最新的更改,因为SDK是基于已部署的阶段构建的。
答案 1 :(得分:0)
我遇到了同样的问题,事实证明问题是我使用的是无服务器框架,而且它没有设置“requestParameter”字段来标记路径参数。例如{"method.request.path.id": true}
从文档中 (http://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html):
requestParameters - > (地图) 一个键值映射,用于定义Amazon API Gateway可以接受的必需或可选方法请求参数。键是方法请求参数名称,与method.request。{location}。{name}的模式匹配,其中location是查询字符串,路径或标题,名称是有效且唯一的参数名称。与密钥相关联的值是api-key-required标志,指示参数是必需的(true)还是可选的(false)。此处定义的方法请求参数名称在Integration中可用,以映射到集成请求参数或模板。
我从github源安装无服务器框架而不是最近为请求参数字段添加support的版本后,能够使其正常工作