我在这里定义名为Page Index
的对象chartControllers
中的属性,该属性必须是名为chartController
的对象数组。
# Page Index (Page Base)
- bundle: `site-index` (string, required) - название страницы на фронтенде
- nav (object, required) - навигационное меню
- settings: `/settings` (string, required) - юрл по которому будет осуществляться переход на страницу настроек
- signOut: `/signOut` (string, required) - юрл по которому будет отправляться POST запрос для выхода из аккаунта
- chart (object, required) - данные для первоначальной отрисовки графика, до выбора каких либо опций
- title (object, required)
- text: `выберите модуль` (string, required) - надпись в заголовке графика
- chartControllers (array[chartController], required) - массив всевозможных опций меню
# chartController
- title: `выбор инстанса` (string, required) - названии типа настройки в меню
- action: `/page` (string, required) - url по которому совершает данная настройка запрос при выборе ее опции(опций)
- name: `page` (string, required) - уникальное человекочитаемое имя настройки на английском языке
- method: `POST` (string, optional) - метод совершения запроса
aglio builder defines object Page Index correctly, with only one peculiar moment - it does not describe options for object `chartController`.
它为我提供了以下身体,这很好:
{
"title": "главная",
"bundle": "site-index",
"nav": {
"settings": "/settings",
"signOut": "/signOut"
},
"chart": {
"title": {
"text": "выберите модуль"
}
},
"chartControllers": [
{
"title": "выбор инстанса",
"action": "/page",
"name": "page",
"method": "POST"
}
]
}
BUT!它为我提供了不完整的架构!它没有描述chartController
。
架构如下:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Название страницы в табе браузера."
},
"bundle": {
"type": "string",
"description": "название страницы на фронтенде"
},
"nav": {
"type": "object",
"properties": {
"settings": {
"type": "string",
"description": "юрл по которому будет осуществляться переход на страницу настроек"
},
"signOut": {
"type": "string",
"description": "юрл по которому будет отправляться POST запрос для выхода из аккаунта"
}
},
"required": [
"settings",
"signOut"
],
"description": "навигационное меню"
},
"chart": {
"type": "object",
"properties": {
"title": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "надпись в заголовке графика"
}
},
"required": [
"text"
]
}
},
"required": [
"title"
],
"description": "данные для первоначальной отрисовки графика, до выбора каких либо опций"
},
"chartControllers": {
"type": "array",
"description": "массив всевозможных опций меню"
}
},
"required": [
"title",
"bundle",
"nav",
"chart",
"chartControllers"
]
}
如何解决这个问题,并在架构中看到chartController
?
答案 0 :(得分:0)
在网上搜索了很长时间后,我和你有同样的问题,最后我找到了解决方案:
Attributes with array of objects produce incomplete schema #328
以下是针对您的特定问题的修复示例: (只是添加'已修复',虽然我知道这个'已修复的来自哪里。)
# Page Index (Page Base)
......
- chartControllers (array[chartController], required, fixed) - массив всевозможных опций меню