Skip to content
mxHeadless
REST API gateway для headless-фронтендов на MODX 3. Ресурсы, объекты, OpenAPI, API keys и OAuth
  1. Компоненты
  2. mxHeadless
  3. API
  4. Schema

Schema

GET /api/v1/schema возвращает объекты из ObjectRegistry после bootstrap. По нему клиент узнаёт публичные имена, поля и разрешённые мутации на этой установке.

Аутентификация не нужна. В ответе только зарегистрированное в коде. Скрытые поля в registry не попадают.

bash
curl -s https://example.com/api/v1/schema

Формат

json
{
  "data": {
    "objects": {
      "resources": {
        "class": "MODX\\Revolution\\modResource",
        "fields": ["id", "pagetitle", "uri"],
        "filterable": ["parent", "published", "deleted"],
        "sortable": ["id", "menuindex", "pagetitle"],
        "searchable": ["pagetitle", "longtitle", "alias", "uri"],
        "required": ["pagetitle"],
        "protected": ["createdby", "editedby"],
        "immutable": ["id", "createdon"],
        "readable": true,
        "creatable": true,
        "updatable": true,
        "deletable": true,
        "relations": []
      }
    }
  },
  "meta": {
    "count": 1
  }
}
КлючСмысл
fieldsПоля, которые могут попасть в ответ при наличии прав
filterableПоля для filter[field][op]
sortableПоля для sort
searchableПоля для параметра q
requiredОбязательны при create, нельзя очистить при update
protectedНужно field-level право на запись
immutableЯвная запись даёт 422
readable / creatable / updatable / deletableФлаги из ObjectDefinition
relationsInclude для include= (name, target, type)

Extras добавляют записи в OnMxHeadlessRegister. До bootstrap core count может быть 0.

Schema и OpenAPI

Schema описывает объекты и query из PHP-определений. OpenAPI описывает HTTP-пути и коды ответов. См. Swagger и OpenAPI.

См. также