Quickstarters
CRUD Samples
Come Creare un’Applicazione CRUD con Golang?
34 min
introduzione in questa guida, imparerai come sviluppare un'applicazione crud fondamentale (crea, leggi, aggiorna e cancella) utilizzando golang questo tutorial copre le operazioni essenziali necessarie per gestire i dati in modo efficace, sfruttando back4app come un robusto servizio backend ora costruirai un server golang che comunica con back4app tramite chiamate restful inizialmente, creerai e configurerai un progetto back4app chiamato basic crud app golang questo progetto servirà come database centrale per la tua applicazione successivamente, definirai uno schema di database scalabile stabilendo collezioni e campi dettagliati—sia manualmente che con l'aiuto dell'ai agent di back4app questa configurazione assicura che il tuo sistema sia pronto per una manipolazione efficiente dei dati attraverso le operazioni crud dopo, attiverai l'admin app di back4app, uno strumento intuitivo con funzionalità di trascinamento per gestire le tue collezioni questo semplifica la creazione, lettura, aggiornamento e cancellazione dei record infine, integrerai il tuo backend golang con back4app utilizzando le api rest, implementando anche controlli di sicurezza robusti e autenticazione degli utenti dove necessario entro la fine di questo tutorial, avrai un server web golang pronto per la produzione che supporta le operazioni crud di base e si connette senza problemi a un database gestito da back4app punti chiave comprendere come costruire applicazioni crud con golang e gestire i dati utilizzando back4app acquisire informazioni su come impostare un'architettura backend scalabile e integrarla con un'api rest golang imparare a utilizzare l'app admin di back4app per una gestione dei dati senza problemi scoprire tecniche di distribuzione, inclusa la containerizzazione per lanci rapidi requisiti preliminari prima di iniziare, assicurati di avere quanto segue un account back4app con un nuovo progetto impostato per indicazioni, controlla iniziare con back4app https //www back4app com/docs/get started/new parse app un ambiente di sviluppo golang installa go https //golang org/doc/install (versione 1 16 o successiva consigliata) comprensione di base di golang, api rest e server http fai riferimento alla documentazione golang https //golang org/doc/ se necessario passo 1 – configurazione del progetto creazione di un nuovo progetto back4app accedi al tuo account back4app clicca sul pulsante “nuova app” nella tua dashboard inserisci il nome del progetto basic crud app golang e segui le istruzioni per creare il tuo progetto crea nuovo progetto dopo che il progetto è stato configurato, lo vedrai elencato nella tua dashboard di back4app, pronto a supportare la tua configurazione backend passo 2 – progettazione dello schema del database definire la struttura dei dati per un'applicazione crud di base, creerai diverse collezioni ecco alcuni esempi delle collezioni e dei campi di cui potresti avere bisogno 1\ collezione articoli questa collezione memorizza i dettagli su ciascun articolo campo tipo di dato descrizione id objectid chiave primaria generata automaticamente titolo stringa il nome o titolo dell'elemento descrizione stringa una descrizione concisa dell'oggetto creato il data timestamp che segna la creazione dell'elemento aggiornato a data timestamp che segna l'ultimo aggiornamento 2\ raccolta utenti questa collezione conserva i dati degli utenti e i dettagli di autenticazione campo tipo di dato descrizione id objectid chiave primaria generata automaticamente nome utente stringa identificatore unico per l'utente email stringa indirizzo email unico dell'utente hash password stringa password crittografata per il login creato il data timestamp quando l'account è stato creato aggiornato a data timestamp dell'ultima aggiornamento dell'account puoi configurare manualmente queste collezioni tramite il dashboard di back4app creando una nuova classe per ciascuna e definendo le colonne crea nuova classe puoi aggiungere nuovi campi scegliendo il tipo di dati, nominando il campo, impostando valori predefiniti e indicando se è obbligatorio crea colonna sfruttare l'agente ai di back4app per la creazione dello schema l'agente ai di back4app, accessibile tramite la tua dashboard, può creare automaticamente il tuo schema di database da un prompt descrittivo questa funzionalità semplifica la configurazione del progetto e garantisce coerenza come utilizzare l'agente ai avvia l'agente ai apri il tuo dashboard di back4app e trova l'agente ai nelle impostazioni del progetto descrivi il tuo modello di dati inserisci un prompt che dettagli le collezioni e i campi di cui hai bisogno rivedi e applica l'agente genera le definizioni delle collezioni rivedi e conferma le modifiche esempio di prompt create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated primary key) \ title string \ description string \ created at date (auto generated) \ updated at date (auto updated) 2\) collection users \ fields \ id objectid (auto generated primary key) \ username string (unique) \ email string (unique) \ password hash string \ created at date (auto generated) \ updated at date (auto updated) questo metodo fa risparmiare tempo e aiuta a garantire che il tuo schema sia robusto e ottimizzato passo 3 – attivazione dell'app admin e esecuzione delle operazioni crud panoramica dell'app admin l'app admin di back4app è un'interfaccia intuitiva senza codice che ti consente di gestire i tuoi dati di backend fornisce un'interfaccia drag and drop per creare, leggere, aggiornare e eliminare record abilitare l'app admin accedi al menu “altro” nel tuo dashboard di back4app seleziona “app admin” e poi clicca su “abilita app admin ” imposta le tue credenziali di amministratore creando l'utente amministratore iniziale, che configura anche ruoli e collezioni di sistema abilita app admin dopo l'attivazione, accedi all'app admin per gestire il tuo database dashboard dell'app admin utilizzare l'app admin per le attività crud all'interno dell'app admin, puoi creare record usa il pulsante “aggiungi record” in una collezione (ad es , articoli) per inserire nuovi dati leggere/aggiornare record clicca su un record per visualizzarne o modificarne i dettagli eliminare record rimuovi i record obsoleti con l'opzione di eliminazione questa interfaccia semplifica la gestione dei dati con un design intuitivo di trascinamento e rilascio passo 4 – integrare golang con back4app ora che il tuo backend è configurato e gestito tramite l'admin app, è tempo di collegare la tua applicazione golang a back4app utilizzando endpoint restful impostare il tuo progetto golang inizializza la directory del tuo progetto golang crea una cartella chiamata basic crud app golang e esegui go mod init basic crud app golang installa i pacchetti necessari per questo tutorial, la libreria standard è sufficiente, ma puoi scegliere di aggiungere librerie esterne se necessario codice di esempio per recuperare e visualizzare gli elementi di seguito è riportato un esempio di un programma golang che recupera elementi dalla tua collezione di elementi back4app package main import ( 	"encoding/json" 	"fmt" 	"io/ioutil" 	"log" 	"net/http" ) const ( 	appid = "your application id" 	restapikey = "your rest api key" ) type item struct { 	objectid string `json "objectid"` 	title string `json "title"` 	description string `json "description"` 	createdat string `json "createdat"` 	updatedat string `json "updatedat"` } type itemsresponse struct { 	results \[]item `json "results"` } func fetchitems() { 	url = "https //parseapi back4app com/classes/items" 	req, err = http newrequest("get", url, nil) 	if err != nil { 	 log fatalf("error creating request %v", err) 	} 	req header add("x parse application id", appid) 	req header add("x parse rest api key", restapikey) 	client = \&http client{} 	resp, err = client do(req) 	if err != nil { 	 log fatalf("error fetching items %v", err) 	} 	defer resp body close() 	body, err = ioutil readall(resp body) 	if err != nil { 	 log fatalf("error reading response %v", err) 	} 	var itemsresp itemsresponse 	if err = json unmarshal(body, \&itemsresp); err != nil { 	 log fatalf("error parsing json %v", err) 	} 	for , item = range itemsresp results { 	 fmt printf("title %s, description %s\n", item title, item description) 	} } func main() { 	fmt println("fetching items from back4app ") 	fetchitems() } questo programma invia una richiesta get all'endpoint items di back4app, decodifica la risposta json e stampa il titolo e la descrizione di ciascun elemento estendere la funzionalità crud puoi implementare funzioni simili in golang per creare un elemento invia una richiesta post con i dati dell'elemento aggiornare un elemento usa una richiesta put o post per modificare i record esistenti eliminare un elemento invia una richiesta delete per rimuovere i record integra queste funzioni in un server http completo utilizzando il net/http pacchetto di go per gestire le rotte delle tue operazioni crud passo 5 – sicurezza del tuo backend implementazione dei controlli di accesso migliora la sicurezza dei tuoi dati applicando le liste di controllo degli accessi (acl) durante l'esecuzione delle operazioni crud ad esempio, assicurati che solo gli utenti autorizzati possano modificare o eliminare i dati impostando le acl appropriate tramite il dashboard di back4app e applicandole tramite la tua api golang configurazione delle autorizzazioni a livello di classe regola le autorizzazioni a livello di classe (clp) nell'interfaccia di back4app per limitare l'accesso ai dati agli utenti autenticati o a ruoli specifici passo 6 – autenticazione utente impostazione della gestione account back4app utilizza la classe utente di parse per l'autenticazione nella tua applicazione golang, gestisci la registrazione e il login degli utenti inviando richieste agli endpoint appropriati di back4app questo può includere registrazione utente una richiesta post con nome utente, email e password login utente verifica delle credenziali e gestione dei token di sessione integra questi endpoint all'interno del tuo server golang per proteggere le tue operazioni crud passo 7 – distribuzione della tua applicazione golang 7 1 preparazione della tua build di produzione compila il tuo codice golang nella tua directory di progetto, esegui go build o crud app verifica il binario assicurati che l'eseguibile ( crud app ) venga eseguito senza errori 7 2 organizzazione dei tuoi file di progetto la tua struttura di progetto potrebbe assomigliare a basic crud app golang/ ├── main go ├── handlers go ├── models go ├── go mod └── readme md 7 3 contenitore con docker se preferisci la containerizzazione, includi un dockerfile come \# use an official golang image to build the app from golang 1 18 alpine as builder \# set the working directory workdir /app \# copy go mod and go sum files copy go mod go sum / \# download dependencies run go mod download \# copy the source code copy \# build the application run go build o crud app \# use a minimal image to run the app from alpine\ latest workdir /root/ copy from=builder /app/crud app expose 8080 cmd \[" /crud app"] 7 4 distribuzione della tua applicazione distribuisci sulla tua piattaforma preferita sia che tu scelga un vps, un fornitore di cloud o i servizi di distribuzione di back4app, carica il tuo binario o il tuo contenitore docker monitora la distribuzione controlla i log e verifica che i tuoi endpoint api siano raggiungibili testa l'applicazione accedi all'url del tuo server per confermare che tutti gli endpoint crud funzionino come previsto passo 8 – conclusione e prossimi passi ottimo lavoro! hai costruito con successo un'applicazione crud di base utilizzando golang e back4app hai impostato un progetto chiamato basic crud app golang , progettato collezioni per articoli e utenti, e collegato il tuo backend golang a back4app tramite api rest prossimi passi migliora la tua api aggiungi ulteriori endpoint per visualizzazioni dettagliate degli articoli, capacità di ricerca o aggiornamenti in tempo reale implementa sicurezza aggiuntiva esplora metodi di autenticazione avanzati e ulteriormente sicuri per i tuoi endpoint esplora risorse aggiuntive consulta la documentazione di back4app https //www back4app com/docs e i documenti di golang https //golang org/doc/ per ulteriori approfondimenti seguendo questo tutorial, ora hai le basi per costruire applicazioni crud robuste e scalabili con golang, integrate senza soluzione di continuità con back4app buon coding!