B.3.1. “content”参数

content”参数用于选择服务器为GET方法请求返回的数据子资源类型(配置和/或非配置)。

在这个例子中,使用了一个简单的YANG列表,它具有配置和非配置子资源。

  1. container events {
  2. list event {
  3. key name;
  4. leaf name { type string; }
  5. leaf description { type string; }
  6. leaf event-count {
  7. type uint32;
  8. config false;
  9. }
  10. }
  11. }

示例1:content=all

要检索所有子资源,可以将“content”参数设置为“all”,因为这是默认值,或可以省略该参数。 客户端可能会发送以下内容:

  1. GET /restconf/data/example-events:events?content=all HTTP/1.1
  2. Host: example.com
  3. Accept: application/yang-data+json

服务器可能会如下回应:

  1. HTTP/1.1 200 OK
  2. Date: Thu, 26 Jan 2017 20:56:30 GMT
  3. Server: example-server
  4. Cache-Control: no-cache
  5. Content-Type: application/yang-data+json
  6. {
  7. "example-events:events" : {
  8. "event" : [
  9. {
  10. "name" : "interface-up",
  11. "description" : "Interface up notification count",
  12. "event-count" : 42
  13. },
  14. {
  15. "name" : "interface-down",
  16. "description" : "Interface down notification count",
  17. "event-count" : 4
  18. }
  19. ]
  20. }
  21. }

示例2:content=config

要仅检索配置子资源,“content”参数设置为“config”。 请注意,只有“content”参数值为“config”时,才会返回“ETag”和“Last-Modified”标题。

  1. GET /restconf/data/example-events:events?content=config HTTP/1.1
  2. Host: example.com
  3. Accept: application/yang-data+json

服务器可能会如下回应:

  1. HTTP/1.1 200 OK
  2. Date: Thu, 26 Jan 2017 20:56:30 GMT
  3. Server: example-server
  4. Last-Modified: Thu, 26 Jan 2017 16:45:20 GMT
  5. ETag: "eeeada438af"
  6. Cache-Control: no-cache
  7. Content-Type: application/yang-data+json
  8. {
  9. "example-events:events" : {
  10. "event" : [
  11. {
  12. "name" : "interface-up",
  13. "description" : "Interface up notification count"
  14. },
  15. {
  16. "name" : "interface-down",
  17. "description" : "Interface down notification count"
  18. }
  19. ]
  20. }
  21. }

示例2:content=nonconfig

要仅检索非配置子资源,“content”参数设置为“nonconfig”。 请注意,还会返回配置祖先(如果有)和列表键叶(如果有)。 客户端可能会发送以下内容:

  1. GET /restconf/data/example-events:events?content=nonconfig HTTP/1.1
  2. Host: example.com
  3. Accept: application/yang-data+json

服务器可能会如下回应:

  1. HTTP/1.1 200 OK
  2. Date: Thu, 26 Jan 2017 20:56:30 GMT
  3. Server: example-server
  4. Cache-Control: no-cache
  5. Content-Type: application/yang-data+json
  6. {
  7. "example-events:events" : {
  8. "event" : [
  9. {
  10. "name" : "interface-up",
  11. "event-count" : 42
  12. },
  13. {
  14. "name" : "interface-down",
  15. "event-count" : 4
  16. }
  17. ]
  18. }
  19. }