我想访问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?
答案 0 :(得分:0)
这在RFC8040, Section 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定义,目标资源URI用于 叶列表“ Y”的编码如下:
/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/c
或/restconf/data/abc:xyz=my-key/d
,其中 my-key 是您要查询的列表实例条目的键。