Ответ 1
После некоторых исследований выяснилось, что нет, на данный момент нет хорошей альтернативы OData.
Я говорю об этом, основываясь на особенностях Odata. Надеюсь, в какой-то момент мы увидим альтернативу.
OData используется Netflix и во многих продуктах Microsoft (серверы: CRM, Sharepoint, SQL Server, клиенты: Excel).
Хотя OData интересна, у нее есть собственный набор преимуществ и компромиссов.
Я разработал и построил систему пользовательского поиска для внутреннего использования. Многие разработчики используют поисковую систему для отчетов и списков, заменяя отчеты и пользовательские функции поиска/фильтрации в каждой строке бизнес-приложения с помощью этой поисковой системы.
У меня есть приличная система, позволяющая запрашивать/фильтровать в моей поисковой системе. Это все URL-адрес, поэтому он прост в использовании.
В этот момент я хочу добавить немного больше функциональности в URL-адрес командной строки. OData - заманчивый выбор, потому что мы уже много используем технологию Microsoft. Он также имеет стандартный язык для фильтров с логикой Boolean и т.д.
Существуют ли какие-либо другие законные стандарты REST, такие как OData, на которые я должен смотреть?
Я не уверен, что мне нужен полный стек OData для того, что я делаю. На данный момент моя простая фильтрация на основе строки запроса работает очень хорошо. Просто хочу провести некоторую должную осмотрительность, чтобы я мог принять обоснованное решение.
Спасибо.
Edit
То, что я ищу, скорее является основой для создания моего API поиска. Lucene/Solr используют синтаксис url http://lucene.apache.org/solr/tutorial.html, как и OData. Lucene/Solr не совсем то, что я ищу, и слишком сложны для моего сценария. Однако они имеют четко определенный url api.
Я ищу какие-либо другие варианты определения api на основе url. Я хочу увидеть "предшествующий уровень техники" для определения синтаксиса запроса/поиска на основе параметров строки url и query.
После некоторых исследований выяснилось, что нет, на данный момент нет хорошей альтернативы OData.
Я говорю об этом, основываясь на особенностях Odata. Надеюсь, в какой-то момент мы увидим альтернативу.
В то время как некоторые, конечно же, утверждают, что ваш собственный вариант - это вариант; если вы можете освободить расходуемую схему и синтаксис или библиотеку API. Учитывая, что вы внимательно изучаете текущий ландшафт стандартов и заимствуете из установленных (хотя и негодных) реализаций, вы (и сторонники) можете склоняться к созданию нового или расширенного стандарта; возможно, тот, который решает нерешенную проблему.
Facebook разрабатывает GraphQL. Данные могут запрашиваться с использованием запросов JSON:
{
user(id: 3500401) {
id,
name,
isViewerFriend,
profilePicture(size: 50) {
uri,
width,
height
}
}
}
В настоящий момент это неприменимо. Согласно Changelog, они планируют выпустить его как своего рода спецификацию.
Здесь - еще один документ
Google настаивает на GData, который кажется искаженным.
Если вы ищете механизм поиска в Интернете, я предлагаю посмотреть Открыть поиск