【发布时间】:2020-12-28 22:55:28
【问题描述】:
我有一个正在运行的后端服务器,它在端点 /api 上提供 GraphQL。像魅力一样工作,但我仍然将它从外部打开,并且无需身份验证即可访问。
所以我开始尝试 Google 刚刚发布的 API Gateway 测试版。除了我必须配置 OpenAPI 2.0 配置 YAML 的部分之外,所有这些都非常简单。
swagger: "2.0"
info:
title: myapp-backend-graphql-api
description: "API for GraphQL queries and mutations"
version: "1.0.0"
schemes:
- "https"
paths:
"/api":
post:
description: "GraphQL Endpoint"
operationId: "graphqlEndpoint"
x-google-backend:
address: https://myapp-backend-43Jasfasd-ew.a.run.app
parameters:
- in: body
name: GraphQl
schema:
type: object
responses:
200:
description: "Success."
schema:
type: object
这是我的openapi-config.yml。我有点挣扎b
它在这里定义了“REST”端点,因为我有一个 GraphQL 端点。但这只是一个 POST 请求,对吧?所以我认为 OpenAPI 2.0 没有什么常见的。
但是 - 现在通过网关 URL https://mystuff-api-9kytelt5.ew.gateway.dev 和端点 /api 调用 API 失败。
xetra11@pop-os:~$ curl https://mystuff-api-9kytelt5.ew.gateway.dev/api/schema.json
{"message":"Path does not match any requirement URI template.","code":404}
我对那个错误消息有些迷茫,不知道我必须在哪里进行调整。
【问题讨论】:
-
你有没有解决过这个问题@xetra11?
标签: google-api graphql openapi google-cloud-run