Quickstarters
Feature Overview
Wie man ein Backend für das Play Framework erstellt?
37 min
einführung in diesem tutorial lernen sie, wie sie ein vollständiges backend für das play framework mit back4app erstellen wir werden die wesentlichen funktionen für server backends durchgehen, einschließlich konfigurationseinstellungen, datenbankverwaltung, cloud code funktionen, rest und graphql apis, benutzerauthentifizierung, dateispeicherung und echtzeitanfragen sie werden sehen, wie back4app den prozess der einrichtung, skalierung und wartung eines webanwendungs backends vereinfacht, während sie sich auf ihren play framework code konzentrieren können indem sie lernen, wie man ein backend für das play framework mit back4app erstellt, reduzieren sie die entwicklungszeit und minimieren die probleme im devops sie werden auch robuste funktionen wie soziale anmeldungen, aufgabenplanung (cloud jobs) und webhooks hinzufügen sobald sie dies abgeschlossen haben, können sie das system in eine produktionsreife lösung erweitern und bei bedarf fortschrittlichere funktionen integrieren wenn sie fertig sind, haben sie einen soliden plan, um ihre nächste skalierbare und sichere play framework webanwendung zu erstellen sie werden bereit sein, tiefer in leistungsverbesserungen, integrationen oder optimierungen im entwicklungsmodus einzutauchen, um den anforderungen der realen welt gerecht zu werden voraussetzungen um dieses tutorial abzuschließen, benötigen sie ein back4app konto und ein neues back4app projekt erste schritte mit back4app https //www back4app com/docs/get started/new parse app wenn sie kein konto haben, können sie eines kostenlos erstellen folgen sie der obigen anleitung, um ihr projekt vorzubereiten eine funktionierende play framework umgebung stellen sie sicher, dass sie java 8+ https //adoptium net/ installiert haben installieren sie sbt https //www scala sbt org/download html oder verwenden sie sbt über ihre ide https //www playframework com/documentation/latest/ide grundkenntnisse des play frameworks verweisen sie auf die play dokumentation https //www playframework com/documentation/latest wenn sie ihre grundlagen auffrischen müssen vertrautheit mit rest oder graphql dies wird ihnen helfen, mit back4app zu interagieren, insbesondere wenn sie sich entscheiden, das parse sdk nicht direkt zu verwenden oder wenn sie es nicht verwenden können stellen sie sicher, dass sie diese voraussetzungen erfüllt haben, bevor sie beginnen ihr back4app projekt eingerichtet und ihre play framework umgebung bereit zu haben, wird ihnen helfen, reibungslos mitzukommen schritt 1 – erstellen eines neuen projekts auf back4app und verbindung herstellen warum sie ein neues back4app projekt benötigen ein frisches back4app projekt ist das rückgrat für ihr backend, da es die daten, die authentifizierung und die cloud logik ihrer anwendung verwaltet egal, ob sie einen kleinen prototyp oder eine groß angelegte webanwendung erstellen, es ist einfach, ihre play framework app mit einem neuen back4app projekt zu verbinden erstellen eines back4app projekts melden sie sich bei ihrem back4app konto an klicken sie auf „neue app“ in ihrem back4app dashboard benennen sie ihre app , zum beispiel „play framework backend“ sobald das projekt erstellt ist, wird es im dashboard angezeigt verbindung mit back4app back4app nutzt parse server wenn ihre play framework app plant, über das parse java sdk mit back4app zu interagieren, können sie es bei bedarf zu ihrer build sbt hinzufügen andernfalls können sie rest oder graphql endpunkte verwenden holen sie sich ihre parse schlüssel öffnen sie in ihrem back4app dashboard app einstellungen oder sicherheit & schlüssel um ihre anwendungs id , rest api schlüssel , javascript schlüssel (wenn sie frontend aufrufe verwenden), oder client schlüssel , plus die server url (normalerweise https //parseapi back4app com ) verwendung des java/parse sdk (optional) wenn sie eine direkte serverseitige integration mit dem parse sdk wünschen, fügen sie eine abhängigkeit in ihrer build sbt librarydependencies += "com parse" % "parse" % "1 0 40" // example version dann können sie in ihrem play framework code parse initialisieren object parseconfig { def init() unit = { parse initialize(new parse configuration builder("your app id") server("https //parseapi back4app com") clientkey("your client key") build() ) } } sie können dies in ihrer global scala platzieren oder es von einem geeigneten initialisierungspunkt aus aufrufen dies bereitet sie auf die direkte interaktion mit ihrem back4app projekt vor wenn sie möchten, verwenden sie die rest oder graphql endpunkte für datenoperationen, insbesondere wenn sie mehr kontrolle über ihre http anfragen haben möchten oder wenn sie mikrodienste erstellen schritt 2 – einrichten der datenbank der datenspeicherdienst von back4app unterstützt eine breite palette von datentypen und die dynamische erstellung von schemata dies ermöglicht es ihnen, die daten ihrer play app mit minimalem aufwand zu speichern erstellen eines datenmodells öffnen sie den abschnitt „datenbank“ in ihrem back4app dashboard erstellen sie eine neue klasse (z b „todo“) und fügen sie spalten hinzu (z b title als string, iscompleted als boolean) speichern sie, um ihr datenbankschema abzuschließen erstellen eines datenmodells mit dem ki agenten wenn sie ihre datenstruktur schnell definieren möchten öffnen sie den ki agenten in ihrem app dashboard beschreiben sie ihr gewünschtes datenmodell in einfacher sprache (z b „erstellen sie ein einfaches todo modell “) der agent generiert das schema automatisch für sie daten lesen und schreiben mit dem parse sdk (optional) wenn sie sich entschieden haben, das parse java sdk in ihrer play framework app zu verwenden, können sie daten speichern und abfragen import com parse {parseobject, parsequery} object todoservice { def createtodo(title string, iscompleted boolean) either\[throwable, parseobject] = { try { val todo = new parseobject("todo") todo put("title", title) todo put("iscompleted", iscompleted) right(todo save()) } catch { case e throwable => left(e) } } def fetchtodos() either\[throwable, java util list\[parseobject]] = { try { val query = parsequery getquery("todo") val results = query find() right(results) } catch { case e throwable => left(e) } } } daten lesen und schreiben mit rest sie können http anfragen von ihren play framework controllern oder diensten senden curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo daten lesen und schreiben mit graphql back4app bietet auch eine graphql api an mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } das ist praktisch, wenn sie mikrodienste erstellen oder eine flexible api für ihre front end clients wünschen arbeiten mit live abfragen wenn ihre webanwendung echtzeitdaten benötigt, aktivieren sie live abfragen aktivieren sie live abfragen im back4app dashboard unter servereinstellungen richten sie ihr abonnement im code ein wenn sie das parse sdk oder benutzerdefinierten code verwenden, stellen sie sicher, dass sie die livequeryserverurl konfigurieren abonnieren sie änderungen für klassen wie „todo “ schritt 3 – sicherheit mit acls und clps anwenden übersicht über acls und clps back4app bietet zugriffskontrolllisten (acls) für die sicherheit auf objektebene und klassenebene berechtigungen (clps) für umfassende einschränkungen dies hilft, ihre server backends sicher zu halten und sicherzustellen, dass nur autorisierte vorgänge stattfinden klassenebene berechtigungen im datenbank abschnitt ihres back4app dashboards wählen sie eine klasse aus (z b „todo“) öffnen sie clps um das lesen/schreiben auf authentifizierte benutzer, rollen oder die öffentlichkeit zu beschränken konfigurieren sie nach bedarf (z b „erfordert authentifizierung“ für alle schreibvorgänge) acls acls schützen einzelne objekte zum beispiel können sie sicherstellen, dass nur ein bestimmter benutzer einen bestimmten datensatz lesen oder schreiben kann wenn sie das parse sdk aus scala code verwenden import com parse {parseacl, parseuser, parseobject} def createprivatetodo(title string, owner parseuser) parseobject = { val todo = new parseobject("todo") todo put("title", title) val acl = new parseacl(owner) acl setpublicreadaccess(false) acl setpublicwriteaccess(false) todo setacl(acl) todo save() todo } schritt 4 – schreiben von cloud code funktionen warum cloud code cloud code ermöglicht es ihnen, benutzerdefinierte logik auf den servern von back4app auszuführen, indem sie geschäftsregeln oder validierungen vor oder nach datenoperationen hinzufügen sie müssen sich nicht um die bereitstellung ihres eigenen servers oder um neustarts im entwicklungsmodus kümmern, um solche funktionen zu implementieren beispiel funktion // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); sie können dies von ihrer play app über rest, graphql oder, wenn sie das parse sdk verwenden, direkt aufrufen bereitstellung verwenden sie die back4app cli oder das dashboard installieren sie die cli (beispiel für linux/macos) konfigurieren sie den kontoschlüssel bereitstellen oder bereitstellen über das dashboard indem sie ihre funktion in cloud code > funktionen einfügen und auf „bereitstellen“ klicken verwendung von npm modulen cloud code unterstützt npm module zum beispiel, wenn sie einen http client wie axios const axios = require('axios'); parse cloud define('fetchdata', async (req) => { const response = await axios get(req params url); return response data; }); schritt 5 – authentifizierung konfigurieren benutzerauthentifizierung aktivieren back4app verwendet die parse user klasse für die registrierung, anmeldung und sitzungsverwaltung stellen sie in ihren konfigurationseinstellungen , sicher, dass „e mail verifizierung aktivieren“ und „passwort zurücksetzen aktivieren“ aktiviert sind, falls gewünscht beispielcode (parse sdk) import com parse {parseuser} object authservice { def signupuser(username string, password string, email string) either\[throwable, parseuser] = { try { val user = new parseuser() user setusername(username) user setpassword(password) user setemail(email) right(user signup()) } catch { case e throwable => left(e) } } def loginuser(username string, password string) either\[throwable, parseuser] = { try { right(parseuser login(username, password)) } catch { case e throwable => left(e) } } } soziale anmeldung wenn sie soziale anmeldungen (google, apple oder facebook) benötigen, konfigurieren sie diese in ihrem back4app dashboard parse bietet hilfsmethoden oder sie können sich auf standard oauth workflows verlassen, je nach ihren bedürfnissen und ansätzen schritt 6 – umgang mit dateispeicherung back4app speichert dateien über parse file vom play framework aus können sie mit rest oder parse sdk hochladen // example with parse sdk import com parse {parsefile, parseobject} import java nio file {files, paths} def uploadimage(filepath string) either\[throwable, string] = { try { val data = files readallbytes(paths get(filepath)) val parsefile = new parsefile("myimage jpg", data) parsefile save() right(parsefile geturl) } catch { case e throwable => left(e) } } sicherheitsüberlegungen sie können die berechtigungen für den datei upload (aktivieren für öffentlich, anonym oder authentifiziert) in den back4app servereinstellungen konfigurieren schritt 7 – e mail verifizierung und passwortzurücksetzung navigieren sie zu den e mail einstellungen im back4app dashboard e mail verifizierung aktivieren und die e mail vorlagen für passwortzurücksetzungen einrichten in ihrer play app können sie aufrufen curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"email" "user\@example com"}' \\ https //parseapi back4app com/requestpasswordreset dies wird back4app dazu bringen, anweisungen zum zurücksetzen des passworts an die e mail des benutzers zu senden schritt 8 – aufgaben mit cloud jobs planen cloud jobs wenn sie eine startaufgabe für hintergrundarbeiten (z b datenbereinigung oder berichtserstellung) benötigen, können sie cloud jobs auf back4app planen // main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); planung bereitstellen ihres cloud codes in app einstellungen > servereinstellungen > hintergrundjobs , planen sie den job, um täglich, wöchentlich oder nach bedarf ausgeführt zu werden schritt 9 – integration von webhooks wenn sie externe dienste benachrichtigen möchten, wann immer sich daten ändern, richten sie webhooks in back4app ein gehen sie zu mehr > webhooks in ihrem back4app dashboard webhook hinzufügen mit einem endpunkt (z b slack oder stripe) wählen sie trigger aus, wie „neuer datensatz in der todo klasse “ sie können auch webhooks in cloud code triggern erstellen, indem sie direkte http anfragen an drittanbieterdienste senden schritt 10 – erkundung des back4app admin panels die back4app admin app ist eine benutzerfreundliche oberfläche für daten und datensatzverwaltung nicht technische benutzer können crud operationen durchführen, ohne in den code eintauchen zu müssen aktivierung der admin app gehe zu app dashboard > mehr > admin app aktiviere es und erstelle einen admin benutzer wähle eine subdomain für einen bequemen zugriff sobald du eingeloggt bist, kannst du dateneinträge verwalten, ohne mit den niedrigeren dashboards oder cli tools herumzuspielen fazit herzlichen glückwunsch! sie haben gelernt, wie man ein backend für das play framework mit den diensten von back4app erstellt während dieses tutorials haben sie ein sicheres backend für eine play framework app auf back4app erstellt eine datenbank , einschließlich schema design, beziehungen und echtzeitanfragen, eingerichtet acls und clps für sicheren datenzugriff angewendet cloud code für benutzerdefinierte logik, trigger und externe integrationen geschrieben benutzerauthentifizierung , soziale anmeldung und passwortzurücksetzungen konfiguriert datei uploads verarbeitet und optionale dateisicherheit hinzugefügt hintergrundaufgaben mit cloud jobs geplant mit drittanbieterdiensten über webhooks integriert das back4app admin panel für eine optimierte datenverwaltung erkundet mit diesen werkzeugen können sie den entwicklungsmodus optimieren, nach bedarf skalieren und robuste webanwendungen auf dem play framework erstellen nutzen sie weitere integrationen, leistungsoptimierungen und erweiterte sicherheitsmaßnahmen, um ihre server backends auf die nächste stufe zu heben nächste schritte verbessern sie ihre produktionsumgebung mit caching , logging oder überwachungstools erforschen sie erweiterte sicherheit mit rollenbasierten zugriffskontrollen oder zero trust setups integrieren sie zahlungs gateways oder andere drittanbieter apis für commerce oder analytik schauen sie sich die offizielle dokumentation von back4app für tiefere einblicke in leistung und fehlersuche an überprüfen sie weitere tutorials zu echtzeit chat apps, iot lösungen oder standortbasierten diensten – viele davon basieren auf den techniken in diesem leitfaden