AWS Api 网关文档 - 无法创建架构
AWS Api Gateway Documentation - cant create schema
今天我大摇大摆-ui 创建了我们 API.
的文档
我们正在使用带有 Lambda 函数的 AWS API 网关,因为 AWS 正在使用一个 in-built 选项来处理我们要使用的文档。
遗憾的是,我对这个选项非常有限,或者我做错了。
举个例子
responses:
'200':
description: 200 response
schema:
$ref: '#/definitions/Empty'
我无法创建替代架构,也无法编辑现有的 /Empty
架构。
我的问题有解决方案吗?
例如
...不使用模式而只在其中写入整个响应?
...向我展示如何创建替代架构?
编辑
对我来说,这似乎是一个 AWS 问题,而不是我的 swagger 文件。如果有人阅读这篇文章,我会添加更多信息。
如果我使用 "create Documetation Part" --> Type = Response (Body) 或者我去 Ressources --> Method 我想设置 Response (Body) --> Method Response 和将 Respone Body 设置为模型。
我的模型是这样的
{
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description" : "Example Promotion",
"title" : "Promotion",
"type" : "object",
"properties" : {
"Status" : { "type" : "string"}
}
}
}
它没有给我任何错误,但是如果我转到 "Publish Documentation" 它似乎没有将我设置的响应(正文)放入方法响应部分的 swagger.json 中,也没有放在 Defenitions 中在文件末尾并正确设置架构路径。
我发现刚开始时不使用 $ref 更容易。在掌握了如何编写请求或响应定义的诀窍后,您可以使用 $ref.
轻松过渡到引用模式
模式语句后面是什么?这取决于您期望返回的内容——文本、数组、JSON 对象或 JSON 对象的数组等。通常是后两者。因此,这是每个示例。
schema:
type: object
description: This is a JSON object
properties:
fullName:
type: string
age:
type: number
定义:{ fullName: "Jane Smith", age: 30 }
schema:
type: array
description: This is an array of JSON object
items:
type: object
properties:
carMake:
type: string
carModel:
type: string
定义:[{ carMake: "Ford", carModel: "Mustang" } ... ]
将 github 的 swagger-ui 克隆到您的计算机上,并将其 运行 作为本地服务器。或者,如果您不介意 API 定义为 public,您可以免费使用 SwaggerHub(或者,在试用期后,为您的 API 支付费用以保密)。
多年来规范发生了变化,因此了解您使用的是 swagger v2 还是 openapi v3 很重要。 www.swagger.io 有一个很好的多页教程。您可以在 SwaggerHub 网站上找到几个 public API 示例。我不在 Smartbear 工作,Smartbear 是最初的 swagger 规范和 swaggerhub 工具的创始人,但我发现它们在过去非常有帮助。他们的一些工作人员监控该网站并回答问题。
祝你好运!
今天我大摇大摆-ui 创建了我们 API.
的文档我们正在使用带有 Lambda 函数的 AWS API 网关,因为 AWS 正在使用一个 in-built 选项来处理我们要使用的文档。
遗憾的是,我对这个选项非常有限,或者我做错了。
举个例子
responses:
'200':
description: 200 response
schema:
$ref: '#/definitions/Empty'
我无法创建替代架构,也无法编辑现有的 /Empty
架构。
我的问题有解决方案吗?
例如
...不使用模式而只在其中写入整个响应?
...向我展示如何创建替代架构?
编辑
对我来说,这似乎是一个 AWS 问题,而不是我的 swagger 文件。如果有人阅读这篇文章,我会添加更多信息。
如果我使用 "create Documetation Part" --> Type = Response (Body) 或者我去 Ressources --> Method 我想设置 Response (Body) --> Method Response 和将 Respone Body 设置为模型。
我的模型是这样的
{
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description" : "Example Promotion",
"title" : "Promotion",
"type" : "object",
"properties" : {
"Status" : { "type" : "string"}
}
}
}
它没有给我任何错误,但是如果我转到 "Publish Documentation" 它似乎没有将我设置的响应(正文)放入方法响应部分的 swagger.json 中,也没有放在 Defenitions 中在文件末尾并正确设置架构路径。
我发现刚开始时不使用 $ref 更容易。在掌握了如何编写请求或响应定义的诀窍后,您可以使用 $ref.
轻松过渡到引用模式模式语句后面是什么?这取决于您期望返回的内容——文本、数组、JSON 对象或 JSON 对象的数组等。通常是后两者。因此,这是每个示例。
schema:
type: object
description: This is a JSON object
properties:
fullName:
type: string
age:
type: number
定义:{ fullName: "Jane Smith", age: 30 }
schema:
type: array
description: This is an array of JSON object
items:
type: object
properties:
carMake:
type: string
carModel:
type: string
定义:[{ carMake: "Ford", carModel: "Mustang" } ... ]
将 github 的 swagger-ui 克隆到您的计算机上,并将其 运行 作为本地服务器。或者,如果您不介意 API 定义为 public,您可以免费使用 SwaggerHub(或者,在试用期后,为您的 API 支付费用以保密)。
多年来规范发生了变化,因此了解您使用的是 swagger v2 还是 openapi v3 很重要。 www.swagger.io 有一个很好的多页教程。您可以在 SwaggerHub 网站上找到几个 public API 示例。我不在 Smartbear 工作,Smartbear 是最初的 swagger 规范和 swaggerhub 工具的创始人,但我发现它们在过去非常有帮助。他们的一些工作人员监控该网站并回答问题。
祝你好运!