你在这里。看看这个问题与其他知识怎样相连。
选择节点前往页面 · 展开后可留在地图中阅读
一个问题
如何从一个只读 provider 开始?
先实现一个明确资源及其路径契约,再扩展操作。
先写下读者能观察到的行为
我们的教学目标是一个报告资源:读取标题和状态,不发送消息、不写磁盘、不接外部账户。先把请求路径、返回内容和不存在时的结果写清楚,再选实现方式。
AFSBaseProvider 提供路由和通用行为,@Read 声明读取处理器,@List 声明列举处理器。处理器返回资源条目;AFS 调度层再把 provider 内部路径放回调用者的命名空间。继承基类不等于已经实现了所有操作。
// Handler fragment: not a complete provider or conformance fixture.
@Read("/report")
async readReport(ctx: RouteContext) {
return {
id: "report",
path: ctx.path,
content: { title: "Prepare the keynote", status: "draft" }
};
}为什么先只读
只读版本让我们先检查命名、内容和解释是否一致。增加写入时,还要决定校验、持久化、权限及冲突处理;不能用一个按钮的状态变化冒充这些行为。
完整实现应配合 provider 编写文档,并为具体能力准备一致性测试。