Oversat med AI. Fællesskabet har endnu ikke gennemgået oversættelsen. Læs på engelsk

Blog · 18. september 2023 · Steve Simpson · Integration

Apex-webtjenester: byggesten til webtroldmænd

Introduktion:

I dette blogindlæg går jeg i dybden med, hvordan man bygger brugerdefinerede Apex-webtjenester i Salesforce. De er afgørende, når en ekstern proces skal læse eller skrive data i Salesforce, og standard-REST-API’et ikke slår til. Vi gennemgår fem eksempler med gradvist stigende kompleksitet, fra standardforespørgsler til opdateringer.

Diagram: fem eksempler på brugerdefinerede Apex-webtjenester, der kaldes fra Postman: GET, der returnerer en liste over poster, GET med et svarobjekt, GET med en parameter, POST og POST med en fejl

Oversigt over brugerdefinerede webtjenester

Vi ser på fem eksempler på brugerdefinerede webtjenester:

GET med en almindelig SObject-liste: Hent data med en almindelig SObject-liste.

Wrapper med JSON-svar: Forbedr GET-kaldet ved at pakke det ind i et JSON-svar.

Tilføj parametre: Indfør parametre i GET-kaldet for at hente mere specifikke data.

POST til indsættelse: Byg et POST-kald, der indsætter data.

Returnér fejlmeddelelser: Håndtér og returnér fejlmeddelelser på den rigtige måde.

Byg brugerdefinerede webtjenester

Eksempel 1: GET med en almindelig SObject-liste

I dette eksempel definerer vi en REST-ressource med en brugerdefineret URI og angiver HTTP-verbet (GET). Klassen skal erklæres som global, og vi returnerer en liste over almindelige konti med en simpel forespørgsel.

Apex-kode: en REST-ressource med en GET-metode, der forespørger konti (Account) og returnerer listen med standardserialisering

Eksempel 2: wrapper med JSON-svar

For at styre, hvilke data der sendes tilbage til klienten, bruger vi et svarobjekt. I stedet for at returnere en liste over SObjects returnerer vi en liste over brugerdefinerede svarobjekter, en letvægtsrepræsentation af en kunde med kun id og navn.

Apex-kode: en GET-metode, der bygger et svarobjekt med en liste over kunder

Eksempel 3: tilføj parametre

Parametre er vigtige, når du skal bruge data for en bestemt kunde. Ved at læse RestContext.params kan du hente kundens id og bruge det i SOQL-forespørgslens WHERE-sætning til at filtrere data.

Apex-kode: en GET-metode, der læser parameteren customerid fra forespørgslen og returnerer den kunde i et svarobjekt

Eksempel 4: POST til indsættelse

Når du skal skrive data, bruges en POST-metode. I dette eksempel opretter vi et svarobjekt og et forespørgselsobjekt. Forespørgselsobjektet modtager en kunde med et navn, og vi bruger JSON-serializeren til at deserialisere forespørgslen til en bestemt klasse. Når vi har oprettet og indsat en ny konto, returneres en status for succes.

Apex-kode: en POST-metode, der fortolker forespørgslens indhold, indsætter en konto (Account) og returnerer en status for succes eller fejl

Eksempel 5: returnér fejlmeddelelser

Dette eksempel ligner eksempel 4, men har fejlhåndtering. Hvis der opstår en undtagelse, fanges fejlen, føjes til en liste, og statuskoden sættes til 500 (eller hvilket tal du foretrækker).

Apex-kode: POST-metoden med fejlhåndtering, der returnerer fejlmeddelelsen og HTTP-statuskoden 500

Konklusion

Med disse eksempler har vi vist de grundlæggende byggesten til brugerdefinerede Apex-webtjenester i Salesforce. Vi startede med et simpelt GET-kald og øgede kompleksiteten trin for trin med parametre, POST-kald og fejlhåndtering.

Hold øje

Tak fordi du læste med, jeg glæder mig til snart at dele flere videnspækkede eventyr med dig! Hold øje her på www.SteveTechArc.com og på YouTube-kanalen @SteveTechArc (opens in a new tab). Abonnér, og styrk din forståelse af Salesforce, og hvordan du kan integrere det med andre systemer.

Vi hjælper med at forandre verden ved at dele integrationsviden med andre arkitekter og med dem, der er på vej til at blive arkitekter!

Transskription med hjælp fra AI

STA 1.8