通过 OpenAPI 规范验证 AWS API 网关中的路径参数
Validate path param in AWS API Gateway through OpenAPI spec
我通过 openAPI 规范创建了一个带有路径参数和请求主体的 POST API。
"/v2/{lang}/subject": {
"post": {
"parameters": [
{
"name": "lang",
"in": "path",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "subject",
"required": true,
"schema": {
"$ref": "#/definitions/subject"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/subject"
}
}
},
"required": true
},
"x-amazon-apigateway-request-validator" : "all",
.....
}
我想在 APIGW 验证路径参数和请求正文。不幸的是,1 个测试用例失败了。
如果我尝试访问缺少语言的 API,例如:https://apigwsampleurl.com/v2/subject,AWS APIGW 会抛出 缺少身份验证令牌 错误。
配置中应该如何处理这种情况?
如果路径不正确,后端将不会有 API 网关资源可以命中,因此需要对该路径进行任何验证 client-side。
路径参数只有在存在时才会被验证。
我通过 openAPI 规范创建了一个带有路径参数和请求主体的 POST API。
"/v2/{lang}/subject": {
"post": {
"parameters": [
{
"name": "lang",
"in": "path",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "subject",
"required": true,
"schema": {
"$ref": "#/definitions/subject"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/subject"
}
}
},
"required": true
},
"x-amazon-apigateway-request-validator" : "all",
.....
}
我想在 APIGW 验证路径参数和请求正文。不幸的是,1 个测试用例失败了。
如果我尝试访问缺少语言的 API,例如:https://apigwsampleurl.com/v2/subject,AWS APIGW 会抛出 缺少身份验证令牌 错误。
配置中应该如何处理这种情况?
如果路径不正确,后端将不会有 API 网关资源可以命中,因此需要对该路径进行任何验证 client-side。 路径参数只有在存在时才会被验证。