Skip to main content
Join the Agentforce Hackathon on Nov. 18-19 to compete for a $20,000 Grand Prize. Sign up now. Terms apply.

Escrever lógica de negócios no Apex

Nota

Nota

Deseja aprender em português (Brasil)? Comece o desafio em um Trailhead Playground de português (Brasil) e use as traduções fornecidas entre parênteses para navegar. Copie e cole somente os valores em inglês porque as validações dos desafios dependem de dados em inglês. Se você não passar no desafio em sua organização de português (Brasil), recomendamos que (1) mude o local para os Estados Unidos, (2) mude o idioma para inglês, seguindo as instruções aqui, e (3) clique novamente no botão “Validar o desafio”.

Consulte o emblema Trailhead no seu idioma para saber mais sobre como aproveitar a experiência de Trailhead em outros idiomas.

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 coleção ordenada) 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

Compartilhe seu feedback do Trailhead usando a Ajuda do Salesforce.

Queremos saber sobre sua experiência com o Trailhead. Agora você pode acessar o novo formulário de feedback, a qualquer momento, no site Ajuda do Salesforce.

Saiba mais Continue compartilhando feedback