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"
}
}