【发布时间】:2019-01-17 09:41:38
【问题描述】:
我正在使用 API Blueprint 和 Agilo 来呈现我的 API 文档。使用枚举类型时,我观察到一种奇怪的行为。响应未显示定义的枚举值,而架构也显示了所有枚举值(这是预期的)以及声明的值('Monday'-Refer Actual)。
数据结构部分
# Data Structures
## Days (enum[string])
+ `Monday`
+ `Tuesday`
+ `Wednesday`
+ `Thursday`
## ListEntry
- playOrder: 1 (number)
- Id: 37a21975a499494f03367 (string)
- programDay: `Tuesday` (Days)
## `sample-request-200`
- id: 58828b2941cc351348 (string)
- startDate: `2019-08-01T11:00:00.000Z` (string)
- endDate: `2019-08-05T11:55:59.000Z` (string)
- Language: `en-US` (string)
- entries: ListEntry (array[object])
API 请求文档部分
+ Request
+ Headers
Content-Type: application/json
+ Attributes (sample-request-200)
实际
---- JSON Body ----
{
"playOrder": 1,
"Id": "37a21975a499494f03367",
"programDay": "Hello, world!" // Agilo shows "Hello,World" when some error occurred
}
-----Generated Schema-----
"programDay": {
"type": "string",
"enum": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Monday"
]
}
希望
---- JSON Body ----
{
"playOrder": 1,
"Id": "37a21975a499494f03367",
"programDay": "Monday"
}
-----Generated Schema-----
"programDay": {
"type": "string",
"enum": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday"
]
}
关于如何使用 API 蓝图 (MSON) 中定义的枚举数据结构的任何想法。不确定如何在 Object 中引用枚举值。
如下引用枚举值是否正确?
- programDay: `Tuesday` (Days)
【问题讨论】:
-
它在 apiary.io 编辑器中工作吗? Aglio 现在没有维护,因此可能缺乏对 API 蓝图功能的支持 github.com/danielgtaylor/aglio/commit/…
-
即使在 apiary.io 编辑器中,枚举值也会像 Agilo 一样重复。但是定义的值会显示在 JSON 响应中。
-
这方面有什么进展吗?刚刚也陷入了这个困境。
标签: apiblueprint apiary.io mson aglio