Я работаю над 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"]
}
]
}
]
Это самое близкое к ответу, что я нашел, но я надеялся на что-то более официальное.
Я также просматривал документ стандартов IETF для шаблонов URI, который кажется довольно официальным, но не похоже, что у него есть ответ на эту проблему.