Traduit par IA. Pas encore relu par la communauté. Lire en anglais

Blog · 18 septembre 2023 · Steve Simpson · Intégration

Services web Apex : les briques de base des magiciens du web

Introduction :

Dans cet article, je vais examiner la construction de services web Apex personnalisés dans Salesforce. Ces services sont essentiels quand un processus externe doit interagir avec Salesforce pour lire ou écrire des données et que l’API REST standard ne suffit pas. Nous parcourrons cinq exemples de complexité croissante, des requêtes standard jusqu’aux mises à jour.

Schéma : cinq exemples de services web Apex personnalisés appelés depuis Postman : un GET qui renvoie une liste d'enregistrements, un GET avec un objet de réponse, un GET avec un paramètre, un POST et un POST avec une erreur

Vue d’ensemble des services web personnalisés

Nous allons explorer cinq exemples de services web personnalisés :

GET avec une liste de SObjects standard : récupérer des données avec une liste de SObjects standard.

Encapsulation avec une réponse JSON : enrichir la requête GET en l’encapsulant dans une réponse JSON.

Ajout de paramètres : ajouter des paramètres à la requête GET pour récupérer des données plus précises.

POST pour l’insertion : mettre en œuvre une requête POST pour insérer des données.

Renvoi de messages d’erreur : gérer et renvoyer correctement les messages d’erreur.

Mettre en œuvre des services web personnalisés

Exemple 1 : GET avec une liste de SObjects standard

Dans cet exemple, nous définissons une ressource REST avec un URI personnalisé et précisons le verbe HTTP (GET). La classe doit être déclarée global, et nous renvoyons une liste de comptes standard à l’aide d’une simple requête.

Code Apex : une ressource REST avec une méthode GET qui interroge les comptes et renvoie la liste avec la sérialisation par défaut

Exemple 2 : encapsulation avec une réponse JSON

Pour maîtriser les données renvoyées au client, nous utilisons un objet de réponse. Au lieu de renvoyer une liste de SObjects, nous renvoyons une liste d’objets de réponse personnalisés, une représentation légère d’un client avec seulement l’ID et le nom.

Code Apex : une méthode GET qui construit un objet de réponse contenant une liste de clients

Exemple 3 : ajout de paramètres

Les paramètres sont indispensables quand vous avez besoin des données d’un client précis. En lisant RestContext.params, vous pouvez récupérer l’ID du client et l’utiliser dans la clause WHERE de la requête SOQL pour filtrer les données.

Code Apex : une méthode GET qui lit un paramètre customerid dans la requête et renvoie ce client dans un objet de réponse

Exemple 4 : POST pour l’insertion

Pour écrire des données, on utilise une méthode POST. Dans cet exemple, nous créons un objet de réponse et un objet de requête. L’objet de requête reçoit un client avec un nom, et nous utilisons le sérialiseur JSON pour sérialiser la requête vers une classe précise. Après la création et l’insertion d’un nouveau compte, un statut de réussite est renvoyé.

Code Apex : une méthode POST qui analyse le corps de la requête, insère un compte et renvoie un statut de réussite ou d'erreur

Exemple 5 : renvoi de messages d’erreur

Cet exemple ressemble à l’exemple 4, mais il inclut la gestion des erreurs. En cas d’exception, l’erreur est interceptée, ajoutée à une liste, et le code de statut est fixé à 500 (ou au numéro de votre choix).

Code Apex : la méthode POST avec gestion des erreurs, qui renvoie le message d'erreur et un code de statut HTTP 500

Conclusion

Avec ces exemples, nous avons montré les briques de base pour créer des services web Apex personnalisés dans Salesforce. En partant d’une simple requête GET, nous avons augmenté progressivement la complexité, avec des paramètres, des requêtes POST et la gestion des erreurs.

Restez à l’écoute

Merci de votre lecture, j’ai hâte de partager bientôt d’autres aventures riches en connaissances avec vous ! Restez à l’écoute ici sur www.SteveTechArc.com et sur la chaîne YouTube @SteveTechArc (opens in a new tab). Abonnez-vous et approfondissez votre compréhension de Salesforce et de la façon de l’intégrer à d’autres systèmes.

Contribuer à changer le monde en partageant des connaissances sur l’intégration avec d’autres architectes et avec celles et ceux qui sont en chemin pour le devenir !

Transcription réalisée avec l’aide de l’IA

STA 1.8