Skip to main content

Scrivere la logica di business in Apex

Nota

Nota

Stai seguendo la formazione in italiano? In questo badge, la convalida delle sfide pratiche di Trailhead funziona in inglese. Le traduzioni sono fornite tra parentesi come riferimento. Nel tuo Trailhead Playground, accertati di (1) selezionare Stati Uniti per le impostazioni internazionali, (2) impostare la lingua su Inglese e (3) copiare e incollare soltanto i valori in lingua inglese. Segui le istruzioni qui.

Visita il badge Trailhead nella tua lingua per scoprire come usufruire dell'esperienza di Trailhead in altre lingue.

Seguire il processo con Trail Together

Hai bisogno dell'assistenza di un esperto per completare questa fase? Dai un'occhiata a questo video, che fa parte della serie Trail Together.

(Questa clip inizia al minuto 34:00 nel caso in cui desideri tornare indietro e riguardare l'inizio della fase.)

Introduzione

Apex è un linguaggio di programmazione fortemente tipizzato e orientato agli oggetti, ottimizzato per funzionare nell'architettura multitenant di Salesforce. Consente agli sviluppatori di automatizzare complessi processi aziendali di backend e viene compilato in bytecode Java.

Il linguaggio Apex è ottimizzato per interagire con i dati Salesforce ed è strettamente integrato con il livello di persistenza di Salesforce. Apex fornisce il linguaggio SOQL (Salesforce Object Query Language), simile a SQL, per l'esecuzione di query e il linguaggio DML (Data Manipulation Language) per eseguire operazioni sul database con gli oggetti creati in precedenza.

Creare e distribuire la classe Apex

  1. In Visual Studio Code, in force-app/main/default, fai clic con il tasto destro su classes e seleziona SFDX: Create Apex Class (SFDX: Crea classe Apex).
    Selezione di SFDX: Create Apex Class (Crea classe Apex).
  2. Nella tavolozza dei comandi di Visual Studio Code, assegna alla classe il nome HouseService. Fai clic su Enter (Invio) | Enter (Invio).
  3. Sostituisci il contenuto del file con il codice seguente.
    public with sharing class HouseService {
        @AuraEnabled(cacheable=true)
        public static List<House__c> getRecords() { 
            try {
                // Create a list of House records from a SOQL query
                List<House__c> lstHouses = [
                    SELECT
                       Id,
                       Name,
                       Address__c,
                       State__c, 
                       City__c,
                       Zip__c
                       FROM House__c
                       WITH USER_MODE
                       ORDER BY CreatedDate
                       LIMIT 10
                    ];
                      return lstHouses;
            }
            // Code to handle exception
            catch (Exception e) {
               throw new AuraHandledException(e.getMessage());
            }
        }
    }  
      
    Dati salienti del codice Questo codice crea una classe HouseService che ha un metodo denominato getRecords. Il metodo restituisce l'elenco dei record relativi alle case (come array) eseguendo una query sull'oggetto House__c.
    Tieni presente che nella classe Apex HouseService l'oggetto (House__c) creato in precedenza (fase 2) viene automaticamente esposto come classe senza che sia necessario scrivere un file di classe. Inoltre, è possibile fare riferimento ai campi nell'oggetto House__c come a proprietà senza che sia necessario dichiararle.
    Abbiamo utilizzato SOQL per scrivere la query facendo riferimento all'oggetto e ai campi dell'oggetto. La query viene compilata e quindi i tipi utilizzati vengono controllati in fase di compilazione.
    Abbiamo stabilito uno stretto accoppiamento tra il modello di dati e la classe Apex. Non è possibile introdurre errori nel codice, perché non verrà compilato se vengono apportate modifiche che non sono coerenti con il modello di dati.
  4. Salva questo file.
  5. Fai clic con il tasto destro su HouseService.cls e seleziona SFDX: Deploy Source to Org (SFDX: Distribuisci sorgente a Org). Vedrai un messaggio di conferma che indica che la classe Apex è stata distribuita correttamente nell'organizzazione. Con la distribuzione il codice viene anche compilato sul server.
    Distribuzione dei file sorgente alle organizzazioni Salesforce selezionate.

Ora verifica se questa classe restituisce i risultati della query come previsto, utilizzando uno script anonimo. Uno script anonimo è codice Apex che non viene memorizzato nei metadati, ma che può essere compilato ed eseguito.

Segui la procedura qui sotto per creare uno script anonimo da testare.

  1. Crea un nuovo file denominato dreamhouseapp.apex nella cartella scripts/apex.
  2. Sostituisci il contenuto del file con il codice seguente: System.debug(HouseService.getRecords());
  3. Fai clic sulla Code Lens Execute Anonymous Apex (Esegui Apex anonimo) evidenziata in rosa nell'immagine della schermata sottostante.
    CodeLens Execute Anonymous Apex (Esegui Apex anonimo) per l'esecuzione di uno script Apex.
    Se la classe Apex che hai scritto funziona, vedrai i risultati della query nel riquadro Output mostrato di seguito.Riquadro Output con i risultati della query dopo l'esecuzione dello script Apex.

Apex è prescrittivo, strettamente accoppiato e ottimizzato per lavorare con le applicazioni aziendali che funzionano bene con Salesforce. In presenza di riferimenti non validi, vengono immediatamente generati errori in fase di compilazione.

Grazie all'integrazione con il livello di persistenza di Salesforce e al supporto integrato per operare sui dati Salesforce direttamente senza la necessità di aggiungere altri livelli di dati, Apex permette di essere più produttivi. Inoltre, Apex favorisce automaticamente l'adozione di buone prassi di programmazione applicando limiti del governor e requisiti di testing.

Risorse

Continua a imparare gratuitamente!
Registra un account per continuare.
Cosa troverai?
  • Ottieni consigli personalizzati per i tuoi obiettivi di carriera
  • Metti in pratica le tue competenze con sfide pratiche e quiz
  • Monitora e condividi i tuoi progressi con i datori di lavoro
  • Accedi a risorse di tutoraggio e opportunità di carriera