我正在研究REST API,我正在寻找一种方法来为URI模板中的变量提供客户端允许的值。当变量表示枚举时,这很有用。目前,客户端返回一组链接作为返回给它的JSON对象的一部分,我想做这样的事情:
"Links":
[
{
"Title":"Search Articles",
"HREF":"example.com/articles/search?keywords={keywords}&mode={mode|["allWords", "anyWords", "exactPhrase"]}"
}
]
或者这个:
"Links":
[
{
"Title":"Search Articles",
"HREF":"example.com/articles/search?keywords={keywords}&mode={mode}"
"Fields":
[
{
"Name":"keywords",
"Type":"Text"
},
{
"Name":"mode",
"Type":"Enum",
"Options":["allWords", "anyWords", "exactPhrase"]
}
]
}
]
This是我找到答案的最接近的东西,但我希望能有更多官方的东西。
我也一直在寻找the IETF standards doc的URI模板,这看起来很官方,但看起来并不能解决这个问题。
答案 0 :(得分:0)
看起来我将使用JSON Hyper-Schema.按照this answer,的建议,您可以使用他们定义的Properties元素来完成我所追求的目标。
我还查看了HAL, Collection+JSON, 和Siren,,但我更喜欢JSON Hyper-Schema,因为它坚持使用一系列链接,而不是想出新的东西。