2016-02-19 3 views
8

Die meisten Teile meiner Migration zu Open Source Parse-Server sind erfolgreich, mit meinen Daten korrekt gespeichert, zugänglich.Parse-Server-Cloud-Code-Funktion 'Kann nicht POST'

Ich habe jedoch Probleme mit Cloud-Code, insbesondere mit dem Ausführen von einfachen Curl-Tests.

Die anfängliche Parse-Server-Installation enthält eine Beispiel main.js Datei, die eine Hallo-Welt-Funktion enthält

Meine eigene Parse-Installation auf ‚/ Parse‘ gehostet wird so URLs dies als

Wurzel verwenden

Die Nachfolgend finden Sie eine einfache Anfrage Test

curl -X POST \ 
-H "X-Parse-Application-Id: myAppId" \ 
-H "X-Parse-REST-API-Key:myRESTKey" \ 
-H "Content-Type: application/json" \ 
-d '{}' \ 
http://localhost:1337/parse/1/functions/hello 

Die Antwort, die ich erhalten, ist

Cannot POST /parse/1/functions/hello

Was ich als Locken-Erklärung ansehe, dass es keinen geeigneten POST-Endpunkt finden kann

Was läuft hier falsch? Ich habe einfach das Sample-Curl-Beispiel aus der Dokumentation von Parse.com in der Verwendung von Cloud-Code geändert, um meine Parse-Server-Installationsdetails

+0

Die 'Kann/1/Funktionen nicht POST/parsen/hello' wie eine Antwort vom Server gesagt, nicht etwas curl aussieht. Möglicherweise hilft das Hinzufügen von -v zur Befehlszeile mit einigen weiteren Hinweisen. (und der "-X POST" -Teil sollte entfernt werden) –

+0

Ja, korrigieren Sie die Nachricht ist eine Antwort vom Server, dass ein Endpunkt nicht gefunden werden kann. Die Antwort funktioniert wie beschrieben –

+0

Wie mache ich den Parse Client js SDK die Anrufe ohne die/1 zu machen? –

Antwort

14

zu verwenden Die Antwort ist, dass im Gegensatz zu Parses gehosteten Lösung der API-Versionspfad ist nicht etwas mit Parsen gehostet server

Wenn Sie den host bei zB:/parse wie oben beschrieben parsen, dann ist das die relative URL wo die Funktionen API verfügbar ist. So entfernen Sie einfach den/1/aus dem Weg

Die gleichen curl Befehl funktioniert mit dieser URL

http://localhost:1337/parse/functions/hello

zB:

curl -X POST \ 
-H "X-Parse-Application-Id: myAppId" \ 
-H "X-Parse-REST-API-Key:myRESTKey" \ 
-H "Content-Type: application/json" \ 
-d '{}' \ 
http://localhost:1337/parse/functions/hello 
+0

Große Lösung. Auch viel Zeit gespart! Vielen Dank –

0

I angewendet, um die "hallo post" Logik unten an Führen Sie eine Funktion aus, die in Parse Open Source-Cloudcode in main.js definiert ist, die auf heroku gehostet wird. Ich versuche, einen früheren Job zu ersetzen, der auf parse.com lief. Begann mit Curl, um zu versuchen, die Funktion nach Belieben ausführen zu können.

Fehler: Kann nicht GET/parse/Funktionen/sendOutboundProgressReport STATE: PERFORM => DONE Handle 0x6000578c0; Linie 1981 (Verbindung # 2) multi_done Curl_http_done: genannt vorzeitige == 0 Anschluss # 2 test-fake-app.herokuapp.com Host intakt gelassen


POST -v curl gelöscht Expire \

-H 'X-Parse-Anwendung-Id: sadf435hsdgfatea' \ -H 'X-Parse-Meister-Key: asdfsaasdfae4235dsgd' \ -H 'REST_KEY': asdfasq435636 \ -H „Content-Type: application/json "\ -H" X-Parse-URL: http://test-fake-app.herokuapp.com/parse "\

-d @ send-template.json \

http://test-fake-app.herokuapp.com/parse/functions/sendOutboundProgressReport