我正在努力使用swagger的语法来描述响应类型。我试图建模的是一个带有动态键和值的哈希映射。这是允许本地化所必需的。语言可能不同,但应始终提供英语。
在JSON中,响应如下所示:
{
id: "1234",
name: {
en: "english text",
de: "Deutscher Text"
}
}
我的第一次尝试是这样的,但我不知道如何为这个名字写部分。AdditionalProperties似乎是一把钥匙,但我无法把头缠在它身上。另外,对英语文本的要求对我来说是一个谜,在这个语法中,这个例子似乎也不像预期的那样工作。它在UI中生成一个空的$folded:。
delayReason:
type: object
properties:
id:
type: string
description: Identifier for a delay reason.
name:
type: object
additionalProperties:
type: string
required: [id, name]
example:
id: 123
name:
en: english text
de: Deutscher Text
这也没有线索表明结果将有一个语言代码作为键,而文本作为散列映射的值。
AdditionalProperties
的用法是正确的,模型也是正确的。
在Swagger/OpenAPI中,hashmap键被假定为字符串,因此键类型没有显式定义。AdditionalProperties
定义hashmap值的类型。所以,这个模式
type: object
additionalProperties:
type: string
定义字符串到字符串的映射,例如:
{
"en": "English text",
"de": "Deutscher Text"
}
如果需要字符串到整数的映射,例如:
{
"en": 5,
"de": 3
}
您可以将additionalproperties
定义为具有值类型integer
:
type: object
additionalProperties:
type: integer
将en
定义为HashMap中的必需键:
type: object
properties:
en:
type: string
required: [en]
additionalProperties:
type: string
definitions:
delayReason:
type: object
properties:
id:
type: string
description: Identifier for a delay reason.
name:
type: object
description: A hashmap with language code as a key and the text as the value.
properties:
en:
type: string
description: English text of a delay reason.
required: [en]
additionalProperties:
type: string
required: [id, name]
example:
id: '123' # Note the quotes to force the value as a string
name:
en: English text
de: Deutscher Text
这也没有线索表明结果将有一个语言代码作为键,而文本作为散列映射的值。
类似的事情可以在描述
中口头记录。
这个例子似乎也没有达到预期的效果。它在UI中生成一个空的$folded:。
不确定您的原始规范有什么问题,但上面的规范是有效的,在Swagger编辑器中看起来很好。
我可以有一个哈希图在Java看起来像这样吗? 我的问题和这里的类似问题 我是Java新手。所以我想知道的是,如果我需要上面这样的东西,如果它无效,什么是最好的数据结构?
我会从我想达到的目标开始 意图 该软件在for循环中解析XML数据。处理数据的 for 循环将持续到 50(因为我得到了 50 个不同的结果)。我最初所做的是,-方法解析整个XML数据并将其保存到TextViews中并显示它。但现在我想添加一个启动画面,只要数据加载就会显示。 XML文件像任何其他普通XML文件一样构建,因此当我通过for循环时,键总是相同的,但值不同。 方法 我已经做的是创建一个
对于使用Java Spring RestTemplate完成的HTTP请求,我得到一个JSON键值对对象的响应,该对象带有动态键,如下所示。 回应: 如何将响应对象映射到POJO或映射? 我使用RestTemplate如下所示。
问题内容: 我有需要检查的情况。我有一个名为: 因为该键本身不存在,所以抛出。如果我检查 由于引发了另一个。如何测试地图中的键不存在?我知道该方法应该处理它,但这不在我的控制之下。] 问题答案: 即使现在我也因为.get引发异常而得到nullpoiner 如果只有一行,并且确定它抛出异常,则唯一的可能性可能是null。
问题内容: Freemarker有两个集合数据类型,即列表和哈希图。有没有一种方法可以像对列表一样遍历哈希图键? 因此,如果我有一个带有数据的变量,则可以说: 我想用其值打印所有用户的属性。这是无效的,但目标很明确: 问题答案: 编辑: 不要在FreeMarker 2.3.25及更高版本中使用此解决方案,尤其是不要使用。查看其他答案。 您使用内置的按键功能,例如,这应该可以工作:
输入是一个哈希映射,比如 我想写一个方法,返回类型A的列表,其中有键,值属性与字符串类型,和键值从hashmap。 如何让它成为现实?