1.3. 数据模型驱动的API

RESTCONFHTTP的简单性与模式驱动的API的可预测性和自动化潜力相结合。了解服务器使用的YANG模块,客户端可以获得所有的管理资源URL以及所有RESTCONF请求和响应的正确结构。这种策略避免了由服务器提供的响应,以便包含超媒体作为Roy Fielding的博士论文[REST-Dissertation]中描述的应用状态引擎(HATEOAS)链接,原因在于客户端可以确定它需要的来自YANG模块。

RESTCONF利用YANG库[RFC7895]允许客户端发现服务器的YANG模块一致性信息,以防客户端使用它。

服务器可以选择性的支持YANG库中的YANG模块的检索。详情请参阅第3.7节

根据YANG模块定义,特定于数据模型的RPC操作和数据存储区内容的URI是可预测的。

RESTCONF协议​​在用YANG数据建模语言定义的概念数据存储上运行。服务器使用[RFC7895]中定义的“ietf-yang-libraryYANG模块列出其支持的每个YANG模块。服务器必须在“modules-state/module”列表中实现“ietf-yang-library”模块,它必须标识服务器使用的所有的YANG模块。概念数据存储内容,特定于数据模型的RPC操作和事件通知由这组YANG模块标识。

将数据分类为配置数据或非配置数据是从YANG的“config”语句派生的。与数据排序有关的行为是从YANG的“ordered-by”语句中导出的。非配置数据也被称为“状态数据”。

RESTCONF数据存储编辑模型简单而直接,类似于NETCONF中的可写可运行(:writable-running)能力的行为。数据存储区资源内的数据资源的每个RESTCONF编辑在成功完成编辑后被激活。