2016-03-25 4 views
0

Ich habe eine REST API mit dem Gorilla mux Paket geschrieben und alle Daten werden in einer MySQL-Datenbank gespeichert. Ich verwende das go-sql-driver/mysql Paket, um darauf zuzugreifen.Go App läuft gut lokal, produziert 404 beim Ausführen von goapp serve

Wenn ich kompilieren und das Bin direkt ausführen, funktioniert es wie erwartet.

Dies ist meine erste attempmt bei der Bereitstellung von Google Cloud-Dienste, so dass ich nicht mit jedem speziellen Setup kennen lernen muss, dass diese Funktion funktioniert.

können alle Code in cobraclamp/hotswapper-api

werden ACHTUNG: Ich bin mir bewusst, dass die initdb in Haupttextanmeldeinformationen verfügt, werden sie in den lokalen und Produktionsprojekte richtig eingestellt

Antwort

2

ich durch nicht surften haben alle Ihr Code, aber ich denke, das Problem ist, dass Sie Ihren Router in main initialisieren.

Gemäß der App Engine go SDK docs und der Gorilla mux docs, müssen Sie dies in einer init() Funktion tun:

Oder für Google App Engine, registrieren Sie es in einer init() Funktion:

func init() { 
    http.Handle("/", router) 
} 

Wenn Sie dies nicht tun, denke ich, Ihre App wird eine 404 für jede Route bekommen.

+0

Danke, das habe ich komplett übersehen. Es funktioniert jetzt wie erwartet. –

Verwandte Themen