0

我想访问 yang 模块中列表叶的值?前任

       module abc
       {
       list xyz{
       key a;
       leaf a{
           type int
       },
       leaf b{
           type string
       },
       leaf c{
           type string
       },
       leaf d{
           type string
       }
       }
       } 

REST 应该类似于“abc/xyz/(这是关键)”,即 (abc/xyz/1)

它将给出 a、b、c、d 的所有值。

但是,如果我想访问非关键的单个元素 b、c、d 个人。我们如何编写 REST API?

4

1 回答 1

0

这在RFC8040 第 3.5.3 节中进行了解释。这是本节中的示例:

例子:

 container top {
      list list1 {
          key "key1 key2 key3";
           ...
           list list2 {
               key "key4 key5";
               ...
               leaf X { type string; }
           }
       }
       leaf-list Y {
         type uint32;
       }
   }

对于上述 YANG 定义,容器“top”在“example-top” YANG 模块中定义,叶“X”的目标资源 URI 将编码如下:

  /restconf/data/example-top:top/list1=key1,key2,key3/\
      list2=key4,key5/X

对于上述 YANG 定义,叶列表“Y”的目标资源 URI 将编码如下:

  /restconf/data/example-top:top/Y=instance-value

以下示例显示了保留字符如何在键值内进行百分比编码。"key1" 的值包含逗号、单引号、双引号、冒号、双引号、空格和正斜杠 (,'":" /)。请注意,双引号不是保留字符,不需要进行百分比编码。“key2”的值为空字符串,“key3”的值为字符串“foo”。

示例网址:

 /restconf/data/example-top:top/list1=%2C%27"%3A"%20%2F,,foo

因此,在您的示例的上下文中,您将执行/restconf/data/abc:xyz=my-key/b, /restconf/data/abc:xyz=my-key/cor /restconf/data/abc:xyz=my-key/d,其中my-key是您希望查询的列表实例条目的键。

于 2018-10-15T10:49:18.670 回答