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 3
url

1 ответ:

Loopback предоставляет интерфейс REST для ваших моделей, с возможностью выполнения довольно сложных запросов к данным без какого-либо дополнительного кодирования. Я думаю, что они смоделировали синтаксис на стандартеOData . Вот почему строка запроса сложнее, чем можно было бы ожидать.

В Loopback вы можете создать свои собственные, пользовательские конечные точки с помощью удаленных методов , так что вы можете создать и предоставить конечную точку, такую как getuser, которая приняла параметры, которые вы указанный, что приводит к гораздо более простому API.