我可以在我的OpenAPI定义中使用我自己的自定义格式,并让AWS API网关使用它们进行验证吗?我找不到任何参考资料,所以我想不会吧?
例如,我只想问候一个叫Dave:的家伙
swagger: "2.0"
info:
version: "1.0"
title: "Hello World API"
paths:
/hello/{user}:
get:
description: Returns a greeting to the user!
parameters:
- name: user
in: path
type: string
required: true
description: The name of the user to greet.
format: "guys-named-dave"
关于这方面的文档确实有点隐含。如果你结合这个
https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-validation-set-up.html
用这个
https://swagger.io/specification/#schema-目标
以下应该是一个解决方案,它工作(而且确实如此!(
paths:
/hello
get:
x-amazon-apigateway-request-validator: params
parameters:
- name: user
in: path
required: true
schema:
type: string
pattern: ^.*dave.*$
x-amazon-apigateway-request-validators:
params:
validateRequestParameters: true
为了允许不区分大小写的名称,如";Dave"以及";DAVE";,尝试模式/.*dave.*/i
。我不知道这是否可行。