Skip to main content

Escrever lógica de negócios no Apex

Nota

Nota

Deseja aprender em português (Brasil)? Nesse emblema, as validações dos desafios práticos do Trailhead funcionam em inglês. As traduções são fornecidas entre parênteses como referência No Trailhead Playground, (1) mude a localidade para Estados Unidos, (2) mude o idioma para inglês e (3) copie e cole apenas os valores em inglês. Siga as instruções aqui.

Consulte o emblema Trailhead no seu idioma para saber como aproveitar a experiência traduzida do Trailhead.

Acompanhar com o Trail Together

Deseja acompanhar um especialista enquanto trabalha nesta etapa? Veja este vídeo que faz parte da série Trail Together.

(Este clipe começa na marca dos 34:00 minutos, caso você queira retroceder e ver o início da etapa novamente.)

Introdução

O Apex é a linguagem de programação orientada a objetos, altamente tipificada e otimizada para ser executada na arquitetura multilocatário do Salesforce. O Apex permite que os desenvolvedores automatizem processos de negócios complexos de back-end e é compilado em código de bytes Java.

A linguagem do Apex é otimizada para interagir com os dados do Salesforce e é totalmente integrada à camada de persistência do Salesforce. O Apex fornece SOQL (Salesforce Object Query Language), semelhante ao SQL, para executar consultas e instruções DML (Data Manipulation Language) para executar operações de banco de dados com os objetos criados anteriormente.

Criar e implantar a classe do Apex

  1. No Visual Studio Code, em force-app/main/default, clique com o botão direito do mouse em classes e selecione SFDX: Create Apex Class (Criar classe do Apex).
    Seleção de SFDX: Criar classe do Apex.
  2. Na paleta de comandos do Visual Studio Code, nomeie a classe como HouseService. Clique em Enter | Enter.
  3. Substitua o conteúdo do arquivo pelo seguinte código.
    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());
            }
        }
    }  
      
    Code Highlights (Destaques do código) Nesse código, você cria uma classe HouseService que tem um método chamado getRecords. O método retorna a lista de registros de casas (como uma matriz) consultando o objeto House__c.
    Observe que, na classe do Apex HouseService, você exibe automaticamente o objeto (House__c) criado anteriormente (na Etapa 2) como uma classe sem gravar um arquivo de classe. Além disso, você pode fazer referência aos campos no objeto House__c como propriedades sem precisar declará-los.
    Usamos SOQL para escrever nossas consultas fazendo referência ao objeto e aos campos no objeto. A consulta é compilada e, portanto, é verificada quanto a tipificação em tempo de compilação.
    Você estabeleceu uma forte ligação entre o modelo de dados e a classe do Apex. Agora você não poderá quebrar o código porque ele não será compilado se você fizer uma alteração de código inconsistente com o modelo de dados.
  4. Salve este arquivo.
  5. Clique com o botão direito do mouse em HouseService.cls e selecione SFDX: Deploy Source to Org (Implantar fonte na organização). Você verá uma mensagem de confirmação de que a classe do Apex foi implantada com êxito na organização. A implantação do código também o compila no servidor.
    Seleção de Implantar a fonte na organização do Salesforce.

Agora, teste se essa classe retorna resultados de consulta conforme o esperado usando um script anônimo. Um script anônimo é o código do Apex que não fica armazenado nos metadados, mas que pode ser compilado e executado.

Siga as etapas abaixo para criar um script anônimo para testar.

  1. Crie um novo arquivo chamado dreamhouseapp.apex na pasta scripts/apex.
  2. Substitua o conteúdo do arquivo por este código: System.debug(HouseService.getRecords());
  3. Clique em Code Lens Execute Anonymous Apex (Executar Apex anônimo) destacado a rosa na captura de tela abaixo.
    Execute a Code Lens do Apex anônimo para executar um script do Apex.
    Se a classe do Apex que você escreveu estiver funcional, você verá os resultados da consulta no painel de saída mostrado abaixo. Painel de saída exibindo os resultados da consulta na execução do script do Apex.

O Apex é teimoso, fortemente associado e otimizado para funcionar com aplicativos de negócios que funcionam bem com o Salesforce. Ele falha rapidamente em tempo de compilação se houver referências inválidas.

Como ele se integra à camada de persistência do Salesforce e tem suporte integrado para trabalhar diretamente com os dados do Salesforce sem precisar conectar camadas de dados adicionais, você pode ser mais produtivo. E, para fechar, o Apex incentiva automaticamente as boas práticas de codificação, aplicando os limites do administrador e os requisitos de teste.

Recursos

Continue a aprender de graça!
Inscreva-se em uma conta para continuar.
O que você ganha com isso?
  • Receba recomendações personalizadas para suas metas de carreira
  • Pratique suas habilidades com desafios práticos e testes
  • Monitore e compartilhe seu progresso com os empregadores
  • Conecte-se a orientação e oportunidades de carreira