3.6.2. 编码操作资源输出参数
如果“rpc”或“action”语句具有“output”部分,那么这些输出参数的实例将在定义了“rpc”或“action”语句的模块名称空间中编码到一个XML元素或名为JSON的对象中的“output”,它位于定义了“rpc”或“action”语句的模块名称空间中。
如果调用RPC操作没有错误,并且如果“rpc”或“action”语句具有“output”部分并且“output”对象树包含被认为是强制性节点的任何子数据节点,则响应消息体务必在响应中由服务器发送。
如果调用RPC操作没有错误,并且“rpc”或“action”语句具有“output”部分,并且“output”对象树不包含被视为强制节点的任何子节点,则响应消息体可以由服务器在响应中发送。
请求URI不会在响应中返回。可能需要了解请求URI,以将输出与请求中使用的特定“rpc”或“action”语句相关联。
例子:
RPC输出示例:
本例使用3.6.1节定义的“example-ops”的YANG模块。
客户端可能会发送以下POST请求消息来调用“get-reboot-info”操作:
POST /restconf/operations/example-ops:get-reboot-info HTTP/1.1
Host: example.com
Accept: application/yang-data+json
服务器可能会如下回应:
HTTP/1.1 200 OK
Date: Thu, 26 Jan 2017 20:56:30 GMT
Server: example-server
Content-Type: application/yang-data+json
{
"example-ops:output" : {
"reboot-time" : 30,
"message" : "Going down for system maintenance",
"language" : "en-US"
}
}
这里使用XML编码显示相同的响应:
HTTP/1.1 200 OK
Date: Thu, 26 Jan 2017 20:56:30 GMT
Server: example-server
Content-Type: application/yang-data+xml
<output xmlns="https://example.com/ns/example-ops">
<reboot-time>30</reboot-time>
<message>Going down for system maintenance</message>
<language>en-US</language>
</output>
操作输出示例:
本例使用3.6.1节定义的“example-actions”的YANG模块。
客户端可能会发送以下POST请求消息来调用“get-last-reset-time”操作:
POST /restconf/data/example-actions:interfaces/interface=eth0/get-last-reset-time HTTP/1.1
Host: example.com
Accept: application/yang-data+json
服务器可能会如下回应:
HTTP/1.1 200 OK
Date: Thu, 26 Jan 2017 20:56:30 GMT
Server: example-server
Content-Type: application/yang-data+json
{
"example-actions:output" : {
"last-reset" : "2015-10-10T02:14:11Z"
}
}