Ich versuche, die Firebase Messaging-Plattform von Google mit meiner App zu verknüpfen, und ich versuche, die in RestTemplate REST integrierte Abstraktion von Spring zu verwenden, um sie zu vereinfachen.Spring Boot RestTemplate.postForObject zu Firebase Messaging wird nicht zurückgegeben
ich zur Zeit bin versucht zu:
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new GsonHttpMessageConverter());
MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
headers.add("Authorization", "key=" + Constants.FIREBASE_SERVER_KEY);
headers.add("Content-Type", "application/json");
HttpEntity<FireBasePost> entity = new HttpEntity<>(fbp, headers);
URI uri;
uri = new URI(firebaseApi);
FireBaseResponse fbr = restTemplate.postForObject(uri, entity, FireBaseResponse.class);
Das FireBasePost Objekt enthält nur die erforderlichen Felder für die POST-Meldung API: Firebase API - und ich habe die Anfrage Entity prüft funktioniert, indem mit String.class Entsendung, so Die Antwort lautet JSON.
Wenn jedoch versucht wird, die Antwort auf Marshall direkt in das FireBaseResponse-Objekt zu erhalten, bleibt der Aufruf von postForObject hängen und kehrt nie zurück.
Ich habe Probleme zu verstehen, warum dieser Anruf nie abgeschlossen wird. Ich würde gerne in der Lage sein, die Antwort direkt in ein Objekt zu bekommen.
Ich glaube 'FireBaseResponse' Eigenschaftsnamen folgen nicht richtig Konvention. Versuchen Sie es mit Camel Case-Namen ('multicastId',' canonicalIds', etc:). Kannst du bitte deine Firebase-Antwort posten? –
Können Sie diese auf der Clientseite empfangenen Benachrichtigungen verarbeiten? Zum Beispiel in der 'func-Anwendung (_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Beliebige], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) ->())' delegieren? – Dayna