我试图弄清楚如何让Swagger解析一个带有未定义数量的值的关联数组。
我有类似的案例,不同的是这些其他案例是完全规则的(我事先知道所有属性的名称)。然而,在这种情况下,我可能不知道(实际上我不想知道)哪些可能是值的名称。
JSON的一个例子,它有一个带有未定义数量的语言代码的关联数组。每个语言代码键都有一组未定义的翻译,每个翻译都有一个键和值。在这种情况下,“描述”和“步行访问”是翻译的关键。但是可能还有其他人,我不想知道所有的人。它应该是动态的。
{
"ca": {
"DESCRIPTION": "Catalan description",
"ACCESS_ON_FOOT": "Catalan Access on foot"
},
"en": {
"DESCRIPTION": "English Description",
"ACCESS_ON_FOOT": "English Access on foot"
},
"es": {
"DESCRIPTION": "Spanish Description",
"ACCESS_ON_FOOT": "Spanish Access on foot"
}
}
问题是我不知道如何将这个未定义的语言代码示例指定为对象的值。
在我的另一个例子中,我使它很容易工作,因为我知道我有哪些值。我当然可以添加“ca”、“en”和“es”作为数组类型的属性。但是,如果我添加语言,我应该回到Swagger规范并重新制定,我的想法是使添加新语言的过程与API规范完全分离。
有没有办法在Swagger 2.0中定义一组未确定的属性?
更新
看起来这可能是我必须解析这个JSON的问题的一个可能的解决方案:
Translations:
type: "object"
additionalProperties:
type: object
additionalProperties:
type: string
< code > additional properties 选项似乎是关联数组的正确选项。至少根据规范:https://swagger . io/docs/specification/data-models/dictionary/
Swagger编辑器(https://editor.swagger.io/)向我显示了与我描述的相同的JSON格式,但是我仍然在生成的客户机中得到一个空输出。
在做了更多的研究之后,在我看来,关联数组在Swagger 2.0中能否工作还不清楚。我很想成功。最后,我选择了另一种方法,让我的APIendpoint返回一个稍微不同的结果。
我有一个二维的关联数组并存储了值。
现在我有一个具有3个属性的一维数组:
Translations:
type: "object"
properties:
language_code:
type: "string"
type:
type: "string"
content:
type: "string"
由于翻译在定义集中,我可以轻松地在endpoint的响应中包含一个翻译数组,如下所示:
responses:
200:
description: "successful operation"
schema:
type: "array"
items:
$ref: "#/definitions/Translations"
这就像一个魅力。
斯威格似乎很有效,只要你没有太多自由的情况。当这种情况发生时,你需要改变主意,找到不同的选择来做事。
附注:首先从你的API定义开始,(就像你做测试然后编码一样)。所以首先是API定义,然后是测试,然后是代码。
我已经有了一个工作中的swagger文档,它使用swagger UI项目生成文档,但我遇到了一个小问题。 Mongoose支持的数据类型,这基本上是一个可以包含任何内容的非结构化对象。但是,根据Swagger规范,属性的的唯一可能值是、、、和。我在留档、Google或GitHub上Swagger-Spec项目的开放问题中找不到任何允许混合数据类型的内容。 在Swagger-Spec留档中,它们定义
问题内容: 我正在借助以下方法设置新的React:https : //github.com/facebookincubator/create-react- app 但是,我遇到了一个棉绒问题。我收到以下掉毛错误。 这是导致问题的代码: 我试着使用react / prop-types规则,但无济于事。 问题答案: 根据这个问题发表评论。 这似乎是因为您在安装时仅应使用create-react- ap
试图向OpenLDAP添加一个新属性,但总是碰壁。我正在尝试向架构添加ipPhone属性,因为我不能在默认的telephoneNumber属性中包含*数字。 下面是我的LDIF文件,用于创建新属性并将其与objectClass类似。 我已经测试和谷歌了几个小时,但一直无法解决这个问题或找出我错过了什么!
我在JPA中使用Micronaut数据,并且有两个实体。第一个是< code >配方: 第二个是,它指的是 : 现在我想在API中为DTO提供属性,但不提供整个实体,因为它包含MonyToOne和OneToMany关系,在这种情况下不需要。因此,我为此创建了投影 DTO: 并将< code>listAll()方法添加到< code > parse error repository 中: 但似乎Mi
我定义了具有@OneToOne双向关系的实体。 关系的所有者站点(子类): 其他站点(父类): 当我试图坚持有子集的父母(不坚持),然后我得到了例外 TransientPropertyValueException:对象引用未保存的临时实例-在刷新之前保存临时实例 这看起来可以理解。 但当我定义具有双向一对一/多对一关联的实体时,如: 此关系的所有者站点: 关系的另一面: 并尝试持久化具有子集合集(
创建Spring Boot cloud config应用程序时出现以下错误。有什么帮助吗?