Översatt med AI. Gemenskapen har inte granskat översättningen än. Läs på engelska

Blogg · 18 september 2023 · Steve Simpson · Integration

Apex-webbtjänster: byggstenar för webbtrollkarlar

Introduktion:

I det här blogginlägget går jag igenom hur man bygger anpassade Apex-webbtjänster i Salesforce. De behövs när en extern process ska läsa eller skriva data i Salesforce och standard-REST-API:t inte räcker till. Vi går igenom fem exempel med gradvis ökande komplexitet, från standardfrågor till uppdateringar.

Diagram: fem exempel på anpassade Apex-webbtjänster som anropas från Postman: GET som returnerar en lista med poster, GET med ett svarsobjekt, GET med en parameter, POST, och POST med ett fel

Översikt över anpassade webbtjänster

Vi tittar på fem exempel på anpassade webbtjänster:

GET med en vanlig SObject-lista: Hämta data med en vanlig SObject-lista.

Wrapper med JSON-svar: Förbättra GET-anropet genom att paketera det i ett JSON-svar.

Lägga till parametrar: Inför parametrar i GET-anropet för att hämta mer specifika data.

POST för att infoga: Bygg ett POST-anrop som infogar data.

Returnera felmeddelanden: Hantera och returnera felmeddelanden på rätt sätt.

Att bygga anpassade webbtjänster

Exempel 1: GET med en vanlig SObject-lista

I det här exemplet definierar vi en REST-resurs med en anpassad URI och anger HTTP-verbet (GET). Klassen ska deklareras som global, och vi returnerar en lista med vanliga konton med en enkel fråga.

Apex-kod: en REST-resurs med en GET-metod som frågar efter konton (Account) och returnerar listan med standardserialisering

Exempel 2: wrapper med JSON-svar

För att styra vilka data som skickas tillbaka till klienten använder vi ett svarsobjekt. I stället för att returnera en lista med SObjects returnerar vi en lista med anpassade svarsobjekt, en lättviktig representation av en kund med bara ID och namn.

Apex-kod: en GET-metod som bygger ett svarsobjekt med en lista över kunder

Exempel 3: lägga till parametrar

Parametrar behövs när du vill ha data för en viss kund. Genom att läsa RestContext.params kan du hämta kundens ID och använda det i SOQL-frågans WHERE-sats för att filtrera data.

Apex-kod: en GET-metod som läser parametern customerid från förfrågan och returnerar den kunden i ett svarsobjekt

Exempel 4: POST för att infoga

När du behöver skriva data används en POST-metod. I det här exemplet skapar vi ett svarsobjekt och ett förfrågningsobjekt. Förfrågningsobjektet tar emot en kund med ett namn, och vi använder JSON-serialiseraren för att deserialisera förfrågan till en viss klass. När vi har skapat och infogat ett nytt konto returneras en lyckad status.

Apex-kod: en POST-metod som tolkar förfrågans innehåll, infogar ett konto (Account) och returnerar status för lyckat eller misslyckat anrop

Exempel 5: returnera felmeddelanden

Det här exemplet liknar exempel 4 men har felhantering. Om ett undantag uppstår fångas felet, läggs till i en lista, och statuskoden sätts till 500 (eller vilket nummer du vill).

Apex-kod: POST-metoden med felhantering, som returnerar felmeddelandet och HTTP-statuskoden 500

Slutsats

Med de här exemplen har vi visat de grundläggande byggstenarna för anpassade Apex-webbtjänster i Salesforce. Vi började med ett enkelt GET-anrop och ökade komplexiteten steg för steg med parametrar, POST-anrop och felhantering.

Håll utkik

Tack för att du läste, jag ser fram emot att dela fler kunskapsspäckade äventyr med dig snart! Håll utkik här på www.SteveTechArc.com och på YouTube-kanalen @SteveTechArc (opens in a new tab). Prenumerera och fördjupa din förståelse av Salesforce och hur du kan integrera det med andra system.

Vi hjälper till att förändra världen genom att dela integrationskunskap med andra arkitekter och med dem som är på väg att bli arkitekter!

Transkription med hjälp av AI

STA 1.8