3.6.3. 编码操作资源错误

如果在尝试调用操作或操作时发生任何错误,则会返回“errors”媒体类型和相应的错误状态。

如果(1)RPC操作输入无效或(2)RPC操作被调用,但发生错误,那么服务器必须发送一个包含“errors”资源的消息体,正如3.9节定义的那样。

使用第3.6.1节中示例中的“reboot”的RPC操作,客户端可能会发送以下POST请求消息:

POST /restconf/operations/example-ops:reboot HTTP/1.1
Host: example.com
Content-Type: application/yang-data+xml

<input xmlns="https://example.com/ns/example-ops">
  <delay>-33</delay>
  <message>Going down for system maintenance</message>
  <language>en-US</language>
</input>

服务器可能会回应一个“invalid-value”错误:

HTTP/1.1 400 Bad Request
Date: Thu, 26 Jan 2017 20:56:30 GMT
Server: example-server
Content-Type: application/yang-data+xml

<errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf">
  <error>
    <error-type>protocol</error-type>
    <error-tag>invalid-value</error-tag>
    <error-path xmlns:ops="https://example.com/ns/example-ops">
      /ops:input/ops:delay
    </error-path>
    <error-message>Invalid input parameter</error-message>
  </error>
</errors>

这里使用JSON编码显示相同的响应:

HTTP/1.1 400 Bad Request
Date: Thu, 26 Jan 2017 20:56:30 GMT
Server: example-server
Content-Type: application/yang-data+json

{ "ietf-restconf:errors" : {
    "error" : [
      {
        "error-type" : "protocol",
        "error-tag" : "invalid-value",
        "error-path" : "/example-ops:input/delay",
        "error-message" : "Invalid input parameter"
      }
    ]
  }
}

results matching ""

    No results matching ""