Oversatt med KI. Fellesskapet har ikke gjennomgått oversettelsen ennå. Les på engelsk

Blogg · 18. september 2023 · Steve Simpson · Integrasjon

Apex-webtjenester: byggesteiner for webtrollmenn

Introduksjon:

I dette blogginnlegget går jeg inn på hvordan man bygger egendefinerte Apex-webtjenester i Salesforce. De er avgjørende når en ekstern prosess skal lese eller skrive data i Salesforce og standard-REST-API-et ikke strekker til. Vi går gjennom fem eksempler med gradvis økende kompleksitet, fra standardspørringer til oppdateringer.

Diagram: fem eksempler på egendefinerte Apex-webtjenester som kalles fra Postman: GET som returnerer en liste over poster, GET med et svarobjekt, GET med en parameter, POST, og POST med en feil

Oversikt over egendefinerte webtjenester

Vi ser på fem eksempler på egendefinerte webtjenester:

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

Wrapper med JSON-svar: Forbedre GET-kallet ved å pakke det inn i et JSON-svar.

Legge til parametere: Innfør parametere i GET-kallet for å hente mer spesifikke data.

POST for innsetting: Lag et POST-kall som setter inn data.

Returnere feilmeldinger: Håndter og returner feilmeldinger på riktig måte.

Bygge egendefinerte webtjenester

Eksempel 1: GET med en vanlig SObject-liste

I dette eksempelet definerer vi en REST-ressurs med en egendefinert URI og angir HTTP-verbet (GET). Klassen skal deklareres som global, og vi returnerer en liste over vanlige kontoer med en enkel spørring.

Apex-kode: en REST-ressurs med en GET-metode som spør etter kontoer (Account) og returnerer listen med standard serialisering

Eksempel 2: wrapper med JSON-svar

For å styre hvilke data som sendes tilbake til klienten, bruker vi et svarobjekt. I stedet for å returnere en liste over SObjects returnerer vi en liste over egendefinerte svarobjekter, en lettvektsrepresentasjon av en kunde med bare ID og navn.

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

Eksempel 3: legge til parametere

Parametere er viktige når du trenger data for en bestemt kunde. Ved å lese RestContext.params kan du hente kundens ID og bruke den i WHERE-setningen i SOQL-spørringen for å filtrere dataene.

Apex-kode: en GET-metode som leser parameteren customerid fra forespørselen og returnerer den kunden i et svarobjekt

Eksempel 4: POST for innsetting

Når du skal skrive data, brukes en POST-metode. I dette eksempelet lager vi et svarobjekt og et forespørselsobjekt. Forespørselsobjektet tar imot en kunde med et navn, og vi bruker JSON-serialiseringen til å deserialisere forespørselen til en bestemt klasse. Etter at vi har opprettet og satt inn en ny konto, returneres en status for vellykket kall.

Apex-kode: en POST-metode som tolker innholdet i forespørselen, setter inn en konto (Account) og returnerer status for vellykket eller mislykket kall

Eksempel 5: returnere feilmeldinger

Dette eksempelet ligner på eksempel 4, men har feilhåndtering. Hvis det oppstår et unntak, fanges feilen, legges til i en liste, og statuskoden settes til 500 (eller et hvilket som helst tall du foretrekker).

Apex-kode: POST-metoden med feilhåndtering, som returnerer feilmeldingen og HTTP-statuskoden 500

Konklusjon

Med disse eksemplene har vi vist de grunnleggende byggesteinene for egendefinerte Apex-webtjenester i Salesforce. Vi startet med et enkelt GET-kall og økte kompleksiteten steg for steg med parametere, POST-kall og feilhåndtering.

Følg med

Takk for at du leste, jeg gleder meg til å dele flere kunnskapsrike eventyr med deg snart! Følg med her på www.SteveTechArc.com og på YouTube-kanalen @SteveTechArc (opens in a new tab). Abonner, og styrk forståelsen din av Salesforce og hvordan du kan integrere det med andre systemer.

Vi hjelper til med å forandre verden ved å dele integrasjonskunnskap med andre arkitekter og med dem som er på vei til å bli arkitekter!

Transkripsjon med hjelp fra AI

STA 1.8