Google似乎没有验证我的请求主体模式,甚至在我使用poster时没有验证请求是否有主体。我是不是错过了什么?对我来说,这意味着谷歌在调用x-google-backend之前会验证这类事情,但它总是将请求传递给我的云函数,无论我是否传递了有效数据。
我在这里用这个问题作为指导。
/users:
post:
summary: Creates a new user.
operationId: createUser
consumes:
- application/json
parameters:
- in: body
name: body
description: The user to create.
required: true
schema:
$ref: './schemas/user.yaml'
x-google-backend:
address: https://us-central1-blablabla.cloudfunctions.net/blabla
responses:
201:
description: Created
user.yaml:
type: object
required:
- username
- password
- repeatPassword
- email
properties:
username:
type: string
minLength: 3
maxLength: 50
password:
type: string
minLength: 6
maxLength: 64
repeatPassword:
type: string
minLength: 6
maxLength: 64
email:
type: string
minLength: 3
maxLength: 50
目前,使用OpenAPI时存在一些限制。有些作用域被可扩展服务代理(ESP(或云终结点框架忽略。
首先是required
参数。端点接受包含所需参数和类型定义的OpenAPI文档,但ESP不需要这样做,而只是将传入请求转发到API。
最后是外部类型引用。端点不支持对OpenAPI之外的类型的引用,这意味着$ref: './schemas/user.yaml'
将被端点忽略。
请注意,API网关使用的OpenAPI语法与云端点使用的相同,这些链接也指向云端点文档中的位置。
以下是OpenAPI功能限制指南。它还包括OpenAPI忽略的其他作用域、参数、模式和类型。
我还建议提交一个功能请求。通过这种方式,这些功能将在未来可用,并将应用于这些类型的项目。
在Robert已经说过的基础上,这似乎不是API网关提供的东西,如下所述:
"我们可以为Google API GW添加任何"逻辑"吗?一个例子是检查有效载荷(在JWT和API被验证之后(,并决定它应该调用微服务A还是微服务B;
不支持">