Entity 实体
Resource
资源类(Resouce), YHP系统中的各种资源
成员函数:
fetch()
获取Resource的状态,需要被子类复写
properties() → {object}
获取所有的属性
headers(headers: object) → {object}
根据Resource自身的命名空间(namespace),拼出对应的HTTP header
参数:
参数名称 | 参数类型 | 描述 |
---|---|---|
headers | object |
Entity
实体(Entity)。YHP系统中几乎所有的知识对象(Knowledge Object)都继承自实体(Entity)。 这是一个抽象类,只提供一些公用的逻辑,具体的逻辑将有子类具体实现。
成员函数:
initialize(service: Service, path: string, namespace?: object)
这是基类的initialize方法,由于typescript中不支持函数同名但是参数列表不一样的方法覆盖(override),
所以这里基类的初始化方法为initialize,而所有具体派生出来的子类中的初始化方法是init
。
参数:
参数名称 | 参数类型 | 描述 |
---|---|---|
service | Service | 对应服务的实例对象。注意,不同的knowledge需要传入不同的服务对象,因为这些服务可能是分开部署的 |
path | string | 对应的api path,这个将由子类进行覆盖 |
namespace | object | 可选参数,限定Entity的命名空间。 |
fetch(options?: object) → {Promise.<Entity>}
从服务器获取最新的Entity状态,对应REST API中的GET
方法
参数:
参数名称 | 参数类型 | 描述 |
---|---|---|
options | object | 可选参数格,默认值是空对象 |
update(props: object) → {Promise.<Entity>}
修改Entity,对应REST API中的PUT方法。传入需要修改的属性,为需要修改的http body。
参数:
参数名称 | 参数类型 | 描述 |
---|---|---|
props | object | 需要更新的Key Value,以object的形式传入 |
remove() → {Promise.<Entity>}
删除Entity,对应REST API中的DELETE方法。
getId() → {string}
获取Entity对应的id属性,各种Entity的ID可能不一样,大多数都是一个uuid,但也有例外。
path() → {string}
返回此Entity对应的REST API path