rel 是超媒体权限中前后端协作的稳定契约
在超媒体驱动权限中,rel 是前端识别操作语义的稳定契约:前端不依赖具体权限点或 URL,而是依赖链接关系名来理解当前资源支持哪些操作。
为什么重要
超媒体驱动权限并不意味着前端完全不需要协议。前端虽然可以不关心 user:delete 这类权限点,也不关心删除接口的具体 URL,但它仍然需要知道某个操作链接代表什么语义。
这个语义通常由 rel 承担。例如:
self表示当前资源;update表示可更新;delete表示可删除;promote表示可晋升。
如果 rel 命名不稳定,前端就会从硬编码权限点,转向硬编码一组混乱的操作名,耦合问题只是换了形式。
核心内容 / 成立机制
rel 的作用是把“操作语义”从具体实现中抽离出来:
- URL 可以变化;
- 权限规则可以变化;
- 后端实现可以变化;
- 但前端识别操作的语义名应尽量稳定。
因此,超媒体权限中的前后端协作重点,不是约定每个权限点,而是约定一组稳定、清晰、可复用的操作关系。
应用要点
rel应优先表达业务操作语义,而不是接口路径。- 常见操作应使用一致命名,避免同义词分裂。
- 对复杂业务操作,应建立可维护的
rel命名规范。 - 前端组件应围绕稳定的
rel渲染操作,而不是围绕权限点或 URL。