Strongloop-параметры строки запроса Loopback
Я работаю над REST api и думаю о сокращении времени разработки с помощью Loopback framework.
Мне нравится многое в этом фреймворке (и он, кажется, соответствует моим потребностям), но мне совершенно не нравится это:
http://localhost:3000/api/users?filter[where][username]=john&filter[where][email]=callback@strongloop.com
http://localhost:3000/api/users?filter={"where":{"username":"john","email":"callback@strongloop.com"}}
Если у вас есть модель, которую вы предоставляете как REST api, то именно так выглядят ваши URL-адреса. Для меня оба варианта выглядят странно и как-то уродливо. И все кажется еще более странным, когда вы доходите до примеров, подобных этому /cars?filter[where][miles][gt]=5000
.
Итак, могу ли я как-то измениться форма url-адреса для всех выставленных моделей? (к чему-то более традиционному). Мне бы очень хотелось иметь нормальные строки запроса, такие как:
http://localhost:3000/api/users?username=john&email=callback@strongloop.com
Есть ли причина, по которой они выглядят так, и что я должен ценить их внешность? Есть ли API REST с таким синтаксисом?
Спасибо
1 ответ:
Loopback предоставляет интерфейс REST для ваших моделей, с возможностью выполнения довольно сложных запросов к данным без какого-либо дополнительного кодирования. Я думаю, что они смоделировали синтаксис на стандартеOData . Вот почему строка запроса сложнее, чем можно было бы ожидать.
В Loopback вы можете создать свои собственные, пользовательские конечные точки с помощью удаленных методов , так что вы можете создать и предоставить конечную точку, такую как
getuser
, которая приняла параметры, которые вы указанный, что приводит к гораздо более простому API.