Introdução
No mundo atual, onde a integração de sistemas é crucial para a eficiência operacional, o Salesforce se destaca como uma plataforma poderosa para empresas. Uma parte importante do desenvolvimento em Salesforce é a capacidade de criar integrações por meio do Apex REST, que permite a construção de APIs RESTful diretamente na plataforma Salesforce. Neste tutorial, abordaremos como implementar essas integrações eficientes usando o Apex e como testar essas APIs utilizando o Postman, uma ferramenta popular para testar serviços web. Vamos explorar o processo desde a configuração do ambiente até a escrita de código e os testes necessários, garantindo que sua API seja robusta e confiável.
Etapas
Configuração do Ambiente Salesforce
A primeira etapa para desenvolver APIs RESTful em Salesforce é configurar o ambiente. Certifique-se de ter uma conta Salesforce e acesso ao Salesforce Developer Console. Faça login na sua conta e crie um novo espaço de trabalho para o desenvolvimento.
commands# Acesse Salesforce e vá para Setup
# Certifique-se de que você possui as permissões necessárias para criar Apex Classes e API
# Abra o Developer Console para começar a codificaçãoCriando uma Classe Apex para o REST Endpoint
Nesta etapa, crie uma nova classe Apex que será responsável por expor um endpoint REST. A classe usará a anotação @RestResource e terá métodos para manipular dados. Crie uma classe chamada ‘ProdutoController’.
ProdutoController.clspublic with sharing class ProdutoController { @HttpGet global static List<Produto__c> doGet() { return [SELECT Id, Nome__c, Preco__c FROM Produto__c]; } @HttpPost global static String doPost(Produto__c produto) { insert produto; return produto.Id; } @HttpPatch global static String doPatch(String id, Produto__c produto) { Produto__c existingProduto = [SELECT Id, Nome__c, Preco__c FROM Produto__c WHERE Id = :id LIMIT 1]; existingProduto.Nome__c = produto.Nome__c; existingProduto.Preco__c = produto.Preco__c; update existingProduto; return existingProduto.Id; } @HttpDelete global static void doDelete(String id) { Produto__c existingProduto = [SELECT Id FROM Produto__c WHERE Id = :id LIMIT 1]; delete existingProduto; } }Testando o Endpoint com Postman
Agora que você criou o endpoint, vamos usar o Postman para testar as funcionalidades. Abra o Postman e defina as chamadas para os métodos GET, POST, PATCH e DELETE. Comece configurando um novo request de teste.
Postman_examplesGET: https://your_instance.salesforce.com/services/apexrest/ProdutoController
POST: https://your_instance.salesforce.com/services/apexrest/ProdutoController - Body: {"Nome__c":"Produto A", "Preco__c":100.0}
PATCH: https://your_instance.salesforce.com/services/apexrest/ProdutoController/{id} - Body: {"Nome__c":"Produto A Modificado", "Preco__c":120.0}
DELETE: https://your_instance.salesforce.com/services/apexrest/ProdutoController/{id}Criando um Teste de Unidade para a Classe Apex
É importante garantir que sua API funcione corretamente. Crie uma classe de teste para o seu controller utilizando a @isTest para validar as operações que você implementou. Crie uma classe chamada ‘ProdutoControllerTest’.
ProdutoControllerTest.cls@isTest private class ProdutoControllerTest { @isTest static void testDoGet() { List<Produto__c> produtos = ProdutoController.doGet(); System.assertNotEquals(0, produtos.size()); } @isTest static void testDoPost() { Produto__c novoProduto = new Produto__c(Nome__c='Produto B', Preco__c=200.0); String id = ProdutoController.doPost(novoProduto); System.assertNotEquals(null, id); } }Executando Testes e Verificando Resultados
Depois de criar sua classe de teste, execute os testes para garantir que tudo esteja funcionando conforme o esperado. Acesse a guia Test no Salesforce e execute seus testes unitários recém-criados. Revise os resultados para verificar se todos os testes passaram.
commands# Acesse o Developer Console
# Vá para Test > New Run
# Selecione ProdutoControllerTest e clique em Run
Conclusão
Neste tutorial, abordamos a criação de integrações eficientes em Salesforce utilizando Apex REST. Aprendemos a criar um endpoint básico, testar esse endpoint com Postman e como garantir a qualidade do código com testes unitários. Essas habilidades são essenciais para desenvolvedores que desejam construir APIs robustas e confiáveis na plataforma Salesforce. Continue explorando as funcionalidades do Apex e as possibilidades de integração para enriquecer suas aplicações corporativas.
