RestHandlersOptions
Defined in: packages/rxdb-adapter-http/src/rest.ts:44
createRestHandlers 的配置。
Properties
resources?
optional resources?: Record<string, string>;
Defined in: packages/rxdb-adapter-http/src/rest.ts:55
实体名 → 资源路径片段,例如 { Recipe: 'recipes' }。
Remarks
值可以含 /(v1/recipes 合法):它来自配置,是开发者写下的常量,不是数据。
与之相对,:id 的取值来自远端行,必须 encodeURIComponent —— 一个含 / 的 id
不做转义就会拼出另一个资源的地址。两者的来源不同,处理方式因此不同。
未列出的实体直接用实体名本身作路径片段。
templates?
optional templates?: object;
Defined in: packages/rxdb-adapter-http/src/rest.ts:71
逐操作覆盖路径与方法。
create?
optional create?: RestOperationTemplate | null;
delete?
optional delete?: RestOperationTemplate | null;
fetchMetadata?
optional fetchMetadata?: RestOperationTemplate | null;
findByIds?
optional findByIds?: RestOperationTemplate | null;
isTableExisted?
optional isTableExisted?: RestOperationTemplate | null;
update?
optional update?: RestOperationTemplate | null;
version?
optional version?: RestOperationTemplate | null;
Remarks
三种取值语义不同:缺省 = 用默认模板(version / isTableExisted 的默认是「不产出」);
给对象 = 用它;给 null = 不产出该 handler。
null 是有意义的一档而不是冗余写法:写 duck 的「不支持」在 core 侧表现为属性缺席
(QueryCacheEngine 用 if (!this.remoteAdapter.create) 特性探测),
只读后端必须能把 create 关掉,否则 repo.create() 会发出一个注定 405 的请求,
而不是 AC#4 那句清晰的「Remote adapter does not support create」。
fetchMetadata / findByIds 不可关:它们是 RxDBAdapterRemoteBase 两个 abstract
成员的落地点,关掉整条 QueryCache 读路径都不成立。