用途:指导在 Vaadin 25 中构建客户端(React/Hilla)视图。客户端视图在浏览器运行,通过 HTTP 与 Java 端点通信,适合高流量、离线支持、精细 DOM 控制与复杂交互;需要纯 Java 快速原型、UI 直接访问数据库或全服务端安全时用服务端 Flow 视图。同一应用可混用两种模型。
主要能力:基于 src/main/frontend/views/ 的文件路由,文件名决定 URL,支持 @index.tsx、@layout.tsx、{param}.tsx、{{search}}.tsx、{...wildcard}.tsx,下划线前缀文件被忽略;用 useParams 取参数、useNavigate 导航;导出 ViewConfig 配置 title、loginRequired、rolesAllowed、menu 等;用 createMenuItems() 生成菜单;@layout.tsx 通过 <Outlet/> 包裹子视图,可设 skipLayouts 跳过布局。Java 服务加 @BrowserCallable 自动生成类型安全 TS 客户端,从 Frontend/generated/endpoints 导入;方法默认拒绝,需 @AnonymousAllowed、@PermitAll、@RolesAllowed 或 @DenyAll。返回 Flux 可实现服务端推送,Subscription 提供 cancel、onNext、onError 等。useSignal/useComputed 提供细粒度响应式。
使用方式:不确定 API 时用 Vaadin MCP 的 search_vaadin_docs,vaadin_version 设为 "25",ui_language 设为 "react"。端点调用需 try/catch,区分 EndpointValidationError、EndpointError 与网络错误。
限制:generated/ 目录自动生成,不要编辑;端点应保持无状态;安全注解必须显式添加。具体版本兼容与完整 API 细节以官方文档为准,资料未提供收费与平台信息。