#node.js #loopbackjs
#node.js #loopbackjs
Вопрос:
Я хочу получить доступ к разным моделям с одинаковым множественным числом. Есть ли какой-либо способ в loopback сделать это, например:
get-account.json
{
"name": "getAccount",
"plural": "account"
}
для доступа get-account.js и внутри него remoteMethod с http-путем /
get-smtp-account.json
{
"name": "getSmtpAccount",
"plural": "account"
}
для доступа get-smtp-account.js и внутри него remoteMethod с http-путем /smtp
Комментарии:
1. URL будет выглядеть как
http://0.0.0.0:3000/api/account/
иhttp://0.0.0.0:3000/api/account/smtp/
2. Зачем вам это нужно?
3. Я просто изучаю loopback .. Что можно сделать, а что нет.
Ответ №1:
Я думаю, вы упускаете суть Restful ресурсов.
Спецификация restful полностью посвящена использованию http-глаголов, представляющих действия CRUD, подобные этому:
ПОЛУЧИТЬ: ПРОЧИТАТЬ — ОПУБЛИКОВАТЬ: СОЗДАТЬ — ПОМЕСТИТЬ: ОБНОВИТЬ — УДАЛИТЬ: УДАЛИТЬ
Каждая модель должна представлять ресурс, который был бы именем отдельной записи в постоянстве, например, учетной записи.
Поскольку мы храним коллекцию моделей, мы используем «множественное число» для обозначения этих ресурсов, вот почему все конечные точки должны быть названы во множественном числе, в данном примере это будут учетные записи.
Итак, в любом restful ресурсе, если вы хотите прочитать данные из persistence, вы должны использовать
ПОЛУЧИТЬ http://0.0.0.0/api/accounts
В loopback вы можете создавать отношения между моделями. Эти отношения являются представлениями отношений в persistence (db). Таким образом, вы можете создать модель под названием «smtp«.
После установления связи вы можете запросить учетную запись и «включить» smtp-связь, объединив всех пользователей с их данными.
Проверьте документацию для получения дополнительной информации https://docs.strongloop.com/display/public/LB/Creating model relations
Если у вас есть еще вопросы, например, как создать отношения между моделями, я действительно рад помочь вам в другом вопросе.
Комментарии:
1. Я нашел что-то в loopback, вызываемое
http
в .json для каждой модели. Вы можете указать путь внутри, например <code>{ «name»: «getAccount», «plural»: «account», «http»: { «path»: «/account/info/» }}</code> и для других <code>{ «name»: «getSmtpAccount», «plural»: «account», «http»:{ «path»:»/account/smtp/» }}</code> .. оба являются действительный и представляющий конечную точку2. единственное, что мне осталось, это получить доступ только к
getAccount
с/account
помощью.3. К вашему сведению, эти пути генерируются из swagger.
4. Я знаю, но модели называются getAccount и getAccountSmtp и должны быть account и smtp