Schnellstarter

Wie man ein Backend für Golang erstellt?

35min

Einführung

In diesem Tutorial lernen Sie, wie Sie ein vollständiges Backend für Golang mit Back4App erstellen und testen.

Wir werden Sie durch die Integration wesentlicher Back4App-Funktionen führen – wie Datenbankverwaltung, Sicherheitseinstellungen, Benutzerauthentifizierung, Dateispeicherung und Cloud-Code – um ein sicheres, flexibles und skalierbares Backend zu erstellen, das gut mit Ihrem Go http-Server funktioniert.

Unser Fokus wird darauf liegen, die RESTful APIs von Back4App zu verwenden, um von unserem Golang http-Client auf die Datenbank zuzugreifen, anstatt ein dediziertes Parse SDK zu verwenden, damit wir zeigen können, wie man leicht wartbare Handler-Funktionen für Ihr neues Backend erstellt.

Sie werden sehen, wie dieser Ansatz die Entwicklungskomplexität im Vergleich zur Einrichtung eigener Server von Grund auf verringert.

Indem Sie sich auf die Echtzeitanfragen, die Dateispeicherung und die Benutzerauthentifizierungssysteme von Back4App verlassen, beschleunigen Sie den Prozess der Backend-Erstellung.

Am Ende werden Sie wissen, wie man ein sicheres Golang-Backend erstellt, automatisierte Aufgaben plant und externe Webhooks integriert.

Sie werden gut vorbereitet sein, um dieses Fundament in eine produktionsbereite Anwendung zu erweitern oder bei Bedarf benutzerdefinierte Logik hinzuzufügen.

Voraussetzungen

  • Ein Back4App-Konto Melden Sie sich kostenlos an hier.
  • Ein neues Back4App-Projekt Erste Schritte mit Back4app
  • Go (Golang) Entwicklungsumgebung Stellen Sie sicher, dass Sie Go auf Ihrem Computer installiert haben. Anleitungen finden Sie in den Go Offizielle Dokumentation.
  • Grundkenntnisse des http-Pakets von Go und RESTful APIs Vertrautheit mit dem Schreiben eines Func-Handlers, dem Parsen von Fehlermeldungen, dem Umgang mit POST-Anfragen und dem Einrichten eines http-Localhost-Servers wird hilfreich sein.

Stellen Sie sicher, dass Sie diese Voraussetzungen erfüllt haben, bevor Sie fortfahren. Diese Einrichtung wird Ihr Erlebnis erleichtern, während Sie entdecken, wie Sie ein Backend für Golang mit Back4App erstellen.

Schritt 1 – Erstellen eines neuen Projekts auf Back4App und Verbindung herstellen

Warum ein neues Projekt?

Ein neues Back4App-Projekt zu erstellen, ist Ihr erster Schritt. Hier werden Sie Daten speichern, die Dateispeicherung konfigurieren, Cloud-Funktionen planen und Hintergrundaufgaben hinzufügen. Dieses Backend-Projekt wird alle nachfolgenden Schritte verankern.

  1. Melden Sie sich bei Ihrem Back4App-Konto an.
  2. Klicken Sie auf „Neue App“ in Ihrem Back4App-Dashboard.
  3. Benennen Sie Ihre App (zum Beispiel „Golang-Backend-Tutorial“).
Document image


Sobald sie erstellt wurde, erscheint sie in Ihrem Dashboard. Diese Anwendung ist jetzt Ihr auf Back4App basierendes Backend.

Verbindung über REST-APIs

Back4App bietet RESTful APIs zum Erstellen, Aktualisieren und Löschen von Daten. In Golang verwenden wir den http-Client aus der Standardbibliothek von Go, um mit diesen Endpunkten zu kommunizieren.

Suchen Sie Ihre Anwendungs-ID und REST-API-Schlüssel, indem Sie zum Einstellungen oder Sicherheit & Schlüssel Abschnitt Ihrer Back4App-App gehen:

Document image


Sie benötigen diese Anmeldeinformationen in jedem Anforderungsheader. Wir werden dies in den nächsten Schritten veranschaulichen, wenn wir uns mit der Datenbank über die Methoden POST, GET und andere HTTP-Anfragen verbinden.

Schritt 2 – Einrichten der Datenbank

Erstellen eines Datenmodells

Um Daten in Back4App zu speichern, definieren Sie Klassen (Tabellen) und Spalten (Felder). Angenommen, wir möchten eine Todo-Klasse. Sie können sie manuell im Back4App-Dashboard erstellen:

  1. Gehen Sie zum Datenbank-Bereich im Dashboard Ihrer App.
  2. Erstellen Sie eine neue Klasse mit dem Namen „Todo.“
  3. Fügen Sie Spalten wie Titel (String) und isCompleted (Boolean) hinzu.
Neue Klasse erstellen
Neue Klasse erstellen


Sie können das System auch dazu bringen, Spalten automatisch zu erstellen, indem Sie Objekte mit neuen Feldern von Ihrer Golang-Anwendung senden.

Erstellen eines Datenmodells mit dem KI-Agenten

  1. Öffnen Sie den KI-Agenten in Ihrem App-Dashboard.
  2. Beschreiben Sie Ihr gewünschtes Datenmodell (z.B. „Bitte erstellen Sie eine neue Todo-Klasse mit einem Titel-Feld und einem isCompleted-Feld.“).
  3. Akzeptieren Sie das vorgeschlagene Schema.
Document image


Diese praktische Funktion spart Zeit beim Entwerfen Ihres Datenbankschemas.

Daten lesen und schreiben mit der REST API (Golang Beispiel)

Unten ist ein einfaches Beispiel, wie man Daten mit Go’s http-Paket erstellt (Methode POST) und abruft (Methode GET). Angenommen, Sie haben Ihre APPLICATION_ID und REST_API_KEY als Umgebungsvariablen.

Go


In diesen Beispielen erstellen wir einen HTTP-Client, fügen die notwendigen Header hinzu und behandeln die Antwortcodes sowie Fehlermeldungen. Denken Sie daran, YOUR_APPLICATION_ID und YOUR_REST_API_KEY durch die tatsächlichen Schlüssel aus Ihrem Back4App-Projekt zu ersetzen.

Daten lesen und schreiben mit der GraphQL-API

Back4App bietet auch einen GraphQL-Endpunkt unter https://parseapi.back4app.com/graphql. Sie können eine beliebte Go GraphQL-Clientbibliothek (wie Machine Box graphql) verwenden, um Abfragen oder Mutationen durchzuführen. Dies kann ein strukturierterer Ansatz sein als rohe REST-Aufrufe.

Arbeiten mit Live-Abfragen (Optional)

Wenn Sie Echtzeit-Updates in Ihrer App sehen möchten, können Sie Live-Abfragen im Back4App-Dashboard aktivieren. Golang hat keine offizielle Parse Live Query-Bibliothek. Sie können jedoch Ihre eigene Websocket-Verbindung implementieren, um auf Live-Query-Updates von wss://YOUR_SUBDOMAIN.b4a.io. Diese Funktion ist nützlich für kollaborative Apps, die eine sofortige Datensynchronisation erfordern.

Schritt 3 – Anwendung von Sicherheit mit ACLs und CLPs

Überblick

Back4App bietet Zugriffskontrolllisten (ACLs) und Klassenebene-Berechtigungen (CLPs), um Ihre Daten zu schützen. ACLs werden für jedes Objekt definiert, während CLPs übergreifende Regeln für eine gesamte Klasse definieren.

Document image


Klassenebene-Berechtigungen

  1. Gehen Sie zu Ihrer App-Datenbank-Ansicht in Back4App.
  2. Wählen Sie eine Klasse (z.B. Todo).
  3. Klicken Sie auf Klassenebene-Berechtigungen und legen Sie Lese-/Schreibzugriff für verschiedene Benutzerrollen oder öffentlichen Zugriff fest.
Document image


ACLs

Sie können eine ACL beim Erstellen oder Aktualisieren eines Objekts über REST-Aufrufe übergeben. Dies stellt sicher, dass nur bestimmte Benutzer oder Rollen die Daten lesen/schreiben können. Für weitere Details besuchen Sie App-Sicherheitsrichtlinien.

Schritt 4 – Schreiben von Cloud-Code-Funktionen

Warum Cloud-Code

Cloud-Code ermöglicht es Ihnen, serverseitige Funktionen, Trigger oder Validierungen auszuführen – ohne eigene Server verwalten zu müssen. Sie können erweiterte Geschäftslogik hinzufügen oder externe APIs von der Serverseite integrieren.

Beispiel für eine Cloud-Funktion

Ein einfaches Beispiel ist eine Funktion, die die Textlänge berechnet. In Ihrer main.js-Datei im Back4App-Dashboard:

JS


Bereitstellung

Cloud-Code bereitstellen, indem Sie entweder:

  • Back4App CLI:
  • Back4App Dashboard unter Cloud Code > Funktionen. Fügen Sie Ihren Code in den main.js-Editor ein und klicken Sie auf Bereitstellen.
Document image


Aufruf von Cloud-Funktionen aus Golang

Sie können eine Cloud-Funktion über REST von Ihrem HTTP-Client aufrufen:

Go


Schritt 5 – Authentifizierung konfigurieren

Benutzerauthentifizierung aktivieren

Back4App verwendet eine User-Klasse zur Authentifizierung. Wenn Sie einen neuen Benutzer über REST erstellen, speichert das Backend die Anmeldeinformationen sicher und generiert ein Sitzungstoken.

Bash


Verwenden Sie das zurückgegebene Sitzungstoken für nachfolgende Anfragen, die Benutzerprivilegien erfordern. In Go würden Sie denselben Typ von HTTP-Anfrage von einem HTTP-Client senden, wie zuvor demonstriert.

Soziale Anmeldung

Für soziale Anmeldungen wie Google oder Facebook müssen Sie die OAuth-Einstellungen auf Back4App konfigurieren. Diese Abläufe beinhalten oft den Austausch von Tokens. Konsultieren Sie die Dokumentation zur Anmeldung mit Apple / soziale Anmeldung für weitere Details.

Schritt 6 – Dateispeicherung verwalten

Einrichtung und Upload

Sie können Dateien auf Back4App speichern, indem Sie sie als base64-kodierte Daten oder multipart/form-data senden:

Bash


Nach dem Hochladen können Sie die Datei an ein Objekt anhängen, indem Sie die zurückgegebene Datei-URL oder den Datei-Pointer speichern. In Go erstellen Sie eine http-Anfrage auf die gleiche Weise – stellen Sie nur sicher, dass Sie den Dateinhalt richtig kodieren.

Schritt 7 – E-Mail-Verifizierung und Passwortzurücksetzung

Bedeutung

Die E-Mail-Verifizierung stellt sicher, dass Benutzer die angegebene E-Mail kontrollieren, während die Passwortzurücksetzung ihnen hilft, Konten wiederherzustellen. Beide Funktionen erhöhen die Sicherheit und das Vertrauen.

Aktivierung der E-Mail-Verifizierung

  1. Gehen Sie zu Ihrem Back4App Dashboard.
  2. Unter E-Mail-Einstellungen, aktivieren Sie die Verifizierungs-E-Mails.
  3. Passen Sie Ihre E-Mail-Vorlagen bei Bedarf an.

Wenn sich ein Benutzer anmeldet, wird automatisch eine Verifizierungs-E-Mail an ihn gesendet.

Passwortzurücksetzung

Verwenden Sie den requestPasswordReset REST-Endpunkt um eine Passwortzurücksetzung einzuleiten:

Bash


Schritt 8 – Aufgaben mit Cloud-Jobs planen

Was Cloud-Jobs tun

Cloud-Jobs laufen nach einem Zeitplan, um Aufgaben wie das Bereinigen veralteter Daten oder das Versenden wöchentlicher Newsletter zu automatisieren.

JS


Stellen Sie diesen Job bereit und planen Sie ihn in Ihrem Back4App Dashboard > App-Einstellungen > Servereinstellungen > Hintergrundjobs.

Document image


Schritt 9 – Webhooks integrieren

Warum Webhooks

Webhooks ermöglichen es Ihnen, externe Dienste zu benachrichtigen, wenn bestimmte Ereignisse eintreten. Zum Beispiel könnten Sie Slack-Benachrichtigungen senden, wenn neue Todo-Elemente erstellt werden.

  1. Gehen Sie zum Bereich Webhooks in Ihrem Back4App Dashboard.
  2. Konfigurieren Sie Ihren Endpunkt (wie https://your-external-service.com/webhook).
  3. Weisen Sie Trigger zu (z. B. afterSave auf Todo).
Einen Webhook hinzufügen
Einen Webhook hinzufügen


Sie können auch externe APIs aus Cloud-Code auslösen, indem Sie eine HTTP-Client-Anfrage schreiben, wenn Sie eine direkte Kontrolle über Ereignisse bevorzugen.

Schritt 10 – Erforschen des Back4App Admin Panels

Übersicht

Die Back4App Admin App ist eine Point-and-Click-Oberfläche, die Sie mit nicht-technischen Teammitgliedern teilen können, um Daten zu verwalten.

Aktivieren Sie die Admin App

  1. Gehen Sie zu Mehr > Admin App in Ihrem Back4App Dashboard.
  2. Aktivieren Sie es und erstellen Sie einen Admin-Benutzer.
Admin App aktivieren
Admin App aktivieren


Verwenden Sie Ihre gewählte Subdomain, um sich in eine einfache Benutzeroberfläche für die Datenmanipulation einzuloggen. Dies befreit Sie davon, direkte Abfragen oder benutzerdefinierten Code zu schreiben, um grundlegende Operationen durchzuführen.

Fazit

In diesem Leitfaden haben Sie erfahren, wie Sie ein Backend für Golang mit Back4App erstellen.

Sie haben erkundet, wie Sie sich über RESTful APIs mit der Datenbank verbinden, Sicherheitsmaßnahmen mit ACLs und CLPs anwenden, geplante Aufgaben mit Cloud-Jobs ausführen, sich mit externen Diensten über Webhooks integrieren und die Benutzerauthentifizierung sowie die Dateispeicherung einrichten.

Mit dem http-Paket von Go und den robusten Funktionen von Back4App können Sie ein leistungsstarkes Backend erstellen, das Zeit spart und mühelos skaliert.

Jetzt, da Sie die Grundlagen beherrschen, können Sie die Logik Ihrer Golang-Handlerfunktion erweitern, sich mit neuen API-Endpunkten verbinden und eine reichhaltige Anwendung erstellen, die Ihren Bedürfnissen entspricht.

Nächste Schritte

  • Verfeinern Sie Ihre Golang-App: Fügen Sie erweiterte Funktionen wie rollenbasierten Zugriff hinzu oder optimieren Sie Ihren http-Server für die Produktion.
  • Erfahren Sie mehr über Echtzeitanfragen: Integrieren Sie Live Queries für kollaborative Apps.
  • Erforschen Sie die erweiterten Back4App-Dokumentationen: Optimieren Sie Ihre ACLs, Protokolle und Analysen.
  • Integrieren Sie Drittanbieter-APIs: Verwenden Sie Cloud Code oder direkte Webhooks, um die Funktionalität Ihres Backends zu erweitern.