跳转正文

Contracts 与 Validation ​

适用范围:Legacy Admin Kit / Schema 与旧 admin-vue。新 admin-nuxtui 的开发入口见管理端 Nuxt UI 指南。

作者体验从事实源开始,不从相邻页面或字段名猜业务合同。

事实链 ​

text
Backend / OpenAPI / Authorization Provider
        ↓ generated owners
resource catalog + permission catalog
action-contract catalog + validation contracts
        ↓ explicit reference / typed adapter
Page Schema + feature binding
        ↓ compiler linking
Data Workbench / LegacyYDataTable runtime
事实OwnerAuthoring 使用方式
resource operations / request schema / field mappingsgenerated CRUD resource cataloginspect resource <key>,决定 standard-crud compatibility 与结构派生
permission names / ancestry / tenancy sideCapabilityExporter cataloginspect permission(s),禁止手写不存在的 key
action operation / validation operation / concurrency policyActionContract exporter/catalogSchema 引用稳定 contract key,runtime 执行
field validation / create-update modegenerated validation catalog + executablefeature 创建 validation port,不复制规则
DTO/wire mappinggenerated API client + feature-local typed adapter只映射当前领域的 transport 差异

Feature-local adapter 边界 ​

Adapter 可以:

  • 将表单值包装成 generated validator 所需 request envelope;
  • 把 generated DTO 映射成稳定 datasource row/editor state;
  • 注册真实 remote option source、renderer 与 typed extension;
  • 接入业务 command executor 与 contextual error delivery。

Adapter 不可以:

  • 克隆、重命名或 remap generated validation contract identity;
  • 自造 permission、operationId 或 ActionContract;
  • 把 DTO 完整复制进 Page Schema;
  • 创建另一套通用 query/form/mutation runtime。

后端契约变化时,先运行 owner generation/check,再重新 inspect。当前 CLI 的 contracts status 只读编排现有 owner checks;不要声称尚未暴露的 contracts refresh 已可用。

YoyoBoot · 从真实项目走向可复用能力