В разделе functions
вы определили функцию notify
, принимающую несколько входных аргументов: title
, text
, click_action
, keyname
, to
. Однако в разделе template
нет никакой информации о том, как сопоставить эти аргументы с HTTP-запросом. Например, title
предполагается отправлять с помощью URL-запроса или в теле запроса?
IIU C, вы пытаетесь использовать устаревший API-интерфейс Firbase Cloud Messaging HTTP, как описано здесь: https://firebase.google.com/docs/cloud-messaging/http-server-ref Основываясь на этой документации, я думаю, что все аргументы вашей функции должны быть отправлены в теле запроса.
Похоже, что соединитель REST LoopBack неправильно определяет и обрабатывает ситуацию, когда вход Аргумент не сопоставлен ни с одним источником HTTP. Это не должно быть сбой, не стесняйтесь открыть отчет об ошибке в https://github.com/strongloop/loopback-connector-rest/issues
Вот конфигурация, которая не взламывает sh сервер. У меня нет учетной записи Firebase, чтобы проверить, что она работает должным образом.
"template": {
"method": "POST",
"url": "https://fcm.googleapis.com/fcm/send",
"options": {
"strictSSL": true,
"useQuerystring": true
},
"body": {
"title": "{title:string}",
"text": "{text:string}",
"click_action": "{click_action:string}",
"keyname": "{keyname:string}",
"to": "{to:string}"
}
},
Вы можете узнать больше о различных способах настройки входных аргументов в документации по соединителю: https://loopback.io/doc/en/lb3/REST-connector.html#defining -a -custom-метод-с использованием мини-шаблон