今天,我开始大摇大摆地挥洒着ui来创建API的文档。
我们正在使用带有Lambda函数的AWS API Gateway,因为AWS正在使用内置选项来提供我们将要使用的文档。
可悲的是,我对这个选项很有限,或者我做错了。
作为一个例子
responses:
'200':
description: 200 response
schema:
$ref: '#/definitions/Empty'
我无法创建替代架构,也无法编辑现有的/Empty
架构。
我的问题有解决方案吗?
例如
...不使用架构并在那里写完整个响应?
...告诉我如何创建替代架构?
修改
对我来说,这似乎是一个AWS问题,而不是我的通用文件。如果有人读过这篇文章,我会添加更多信息。
如果我使用“创建文档部分”并不重要 - > Type = Response(Body)或者我去Ressources - >我想设置Response(Body)的方法 - >方法响应并将Respone Body设置为Modell。
我的Modell看起来像这样
{
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description" : "Example Promotion",
"title" : "Promotion",
"type" : "object",
"properties" : {
"Status" : { "type" : "string"}
}
}
}
它没有给我任何错误,但是如果我转到“发布文档”,似乎没有把Respone(Body)设置在方法响应部分的swagger.json中,也不放在最后的Defenitions上。文件并将架构路径设置为正确。
答案 0 :(得分:1)
我发现在开始时不使用$ 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&#34 ;, carModel:" Mustang" } ...]
将github的swagger-ui克隆到您的计算机上并将其作为本地服务器运行。或者您可以免费使用SwaggerHub,如果您不介意将API定义公开(或者在试用期后,将您的API付费为私有)。
多年来规范发生了变化,因此了解您是在处理swagger v2还是openapi v3非常重要。 www.swagger.io有一个很好的多页教程。您可以在SwaggerHub网站上找到几个公共API示例。我不适用于Smartbear,它是原始的swagger spec和swaggerhub工具的创始人,但我发现它们在过去非常有帮助。他们的一些工作人员监控这个网站并回答问题。
祝你好运!