4.4.1. 创建资源模式

如果目标资源类型是数据存储或数据资源,则将POST视为分别创建顶级资源或子资源的请求。 消息体预计包含在父(目标资源target resource)内创建的子资源的内容。 消息主体必须包含预期数据资源的一个实例。 子树的数据模型是子树,由YANG定义为子资源。

数据存储和数据资源的POST方法必须支持“insert”(第4.8.5节)和“point”(第4.8.6节)查询参数。只有当列表或叶子列表是“ordered-by”时,才允许使用这些参数。

如果POST方法成功,则返回“201 Created”状态行,并且没有响应消息主体。标识创建的子资源的“Location”标题字段必须出现在响应中。

如果数据资源已经存在,则POST请求必须失败,务必返回“409 Conflict”状态行。在这种情况下使用错误标记值“resource-denied”。

如果用户无权创建目标资源,则应返回包含“403 Forbidden”状态行的错误响应。在这种情况下使用错误标签值“access-denied”。服务器可以返回“404 Not Found”状态行,如[RFC7231]的第6.5.4节所述。在这种情况下使用错误标签值“invalid-value”。所有其他错误响应按照第7节中定义的过程进行处理。

示例:

要创建新的“jukebox”资源,客户端可能会发送以下内容:

POST /restconf/data HTTP/1.1
Host: example.com
Content-Type: application/yang-data+json

{ "example-jukebox:jukebox" : {} }

如果创建资源,服务器可能会作出如下响应:

HTTP/1.1 201 Created
Date: Thu, 26 Jan 2017 20:56:30 GMT
Server: example-server
Location: https://example.com/restconf/data/example-jukebox:jukebox
Last-Modified: Thu, 26 Jan 2017 20:56:30 GMT
ETag: "b3a3e673be2"

有关更多资源创建示例,请参阅附录B.2.1

results matching ""

    No results matching ""