แปลโดย AI ชุมชนยังไม่ได้ตรวจทาน อ่านเป็นภาษาอังกฤษ

บล็อก · 18 กันยายน 2566 · Steve Simpson · การผสานรวม

Apex Web Service: ตัวต่อพื้นฐานสำหรับพ่อมดแห่งเว็บ

บทนำ:

ในโพสต์บล็อกนี้ ผมจะลงลึกเรื่องการสร้าง Apex web service ที่กำหนดเองใน Salesforce บริการเหล่านี้สำคัญเมื่อคุณต้องการให้กระบวนการภายนอกโต้ตอบกับ Salesforce เพื่อดึงหรือเขียนข้อมูล และ REST API มาตรฐานไม่พอ เราจะไล่ดูห้าตัวอย่าง ซับซ้อนขึ้นทีละน้อย ตั้งแต่ query มาตรฐานไปจนถึงการอัปเดต

ไดอะแกรม: ตัวอย่าง Apex web service ที่กำหนดเองห้าแบบที่เรียกจาก Postman: GET ที่คืนรายการเรกคอร์ด GET พร้อม response object GET พร้อมพารามิเตอร์ POST และ POST พร้อมข้อผิดพลาด

ภาพรวมของเว็บเซอร์วิสที่กำหนดเอง

เราจะสำรวจห้าตัวอย่างของเว็บเซอร์วิสที่กำหนดเอง:

GET โดยใช้ SObject List มาตรฐาน: ดึงข้อมูลโดยใช้ SObject list มาตรฐาน

Wrapper พร้อมคำตอบ JSON: ปรับปรุงคำขอ GET ด้วยการห่อด้วยคำตอบ JSON

การเพิ่มพารามิเตอร์: เพิ่มพารามิเตอร์ให้คำขอ GET เพื่อดึงข้อมูลที่เจาะจงขึ้น

ใช้ POST เพื่อ insert: implement คำขอ POST สำหรับการเพิ่มข้อมูล

การคืนข้อความข้อผิดพลาด: จัดการและคืนข้อความข้อผิดพลาดอย่างเหมาะสม

การ implement เว็บเซอร์วิสที่กำหนดเอง

ตัวอย่างที่ 1: GET โดยใช้ SObject List มาตรฐาน

ในตัวอย่างนี้ เรากำหนด REST resource ด้วย URI ที่กำหนดเองและระบุ HTTP verb (GET) คลาสควรประกาศเป็น global และเราคืนรายการบัญชีมาตรฐานด้วย query ง่ายๆ

โค้ด Apex: REST resource ที่มีเมธอด GET ซึ่ง query บัญชีแล้วคืนรายการด้วยการ serialize แบบค่าเริ่มต้น

ตัวอย่างที่ 2: Wrapper พร้อมคำตอบ JSON

เพื่อควบคุมข้อมูลที่ส่งกลับไปยังไคลเอนต์ เราใช้ response object แทนที่จะคืนรายการ SObject เราคืนรายการ response object ที่กำหนดเอง ซึ่งเป็นตัวแทนแบบเบาของลูกค้าที่มีแค่ ID และชื่อ

โค้ด Apex: เมธอด GET ที่สร้าง response object ซึ่งเก็บรายการลูกค้า

ตัวอย่างที่ 3: การเพิ่มพารามิเตอร์

พารามิเตอร์จำเป็นเมื่อคุณต้องการข้อมูลของลูกค้าเฉพาะราย ด้วยการอ่าน RestContext.params คุณดึง ID ลูกค้าแล้วใช้มันใน SOQL WHERE clause เพื่อกรองข้อมูลได้

โค้ด Apex: เมธอด GET ที่อ่านพารามิเตอร์ customerid จากคำขอแล้วคืนลูกค้ารายนั้นใน response object

ตัวอย่างที่ 4: ใช้ POST เพื่อ insert

เมื่อคุณต้องเขียนข้อมูล จะใช้เมธอด POST ในตัวอย่างนี้ เราสร้าง response object และ request object request object รับลูกค้าที่มีชื่อ และเราใช้ JSON serializer เพื่อ serialize คำขอเป็นคลาสเฉพาะ หลังสร้างและ insert บัญชีใหม่แล้ว สถานะสำเร็จจะถูกส่งกลับ

โค้ด Apex: เมธอด POST ที่แยกวิเคราะห์ body ของคำขอ insert บัญชี แล้วคืนสถานะสำเร็จหรือข้อผิดพลาด

ตัวอย่างที่ 5: การคืนข้อความข้อผิดพลาด

ตัวอย่างนี้คล้ายตัวอย่างที่ 4 แต่มีการจัดการข้อผิดพลาด ในกรณีที่เกิด exception ข้อผิดพลาดจะถูกจับ เพิ่มเข้ารายการ และตั้ง status code เป็น 500 (หรือเลขใดก็ได้ที่คุณต้องการ)

โค้ด Apex: เมธอด POST ที่มีการจัดการข้อผิดพลาด คืนข้อความข้อผิดพลาดและ HTTP status code 500

บทสรุป

ผ่านตัวอย่างเหล่านี้ เราได้แสดงตัวต่อพื้นฐานในการสร้าง Apex web service ที่กำหนดเองใน Salesforce เริ่มจากคำขอ GET ง่ายๆ เราค่อยๆ เพิ่มความซับซ้อน แนะนำพารามิเตอร์ คำขอ POST และการจัดการข้อผิดพลาด

ติดตามต่อ

ขอบคุณที่อ่าน และผมตั้งตารอที่จะแบ่งปันการผจญภัยที่อัดแน่นด้วยความรู้กับคุณอีกเร็วๆ นี้! ติดตามได้ที่ www.SteveTechArc.com และช่อง YouTube @SteveTechArc (opens in a new tab) กดติดตามและเพิ่มความเข้าใจเรื่อง Salesforce และวิธีผสานรวมมันกับระบบอื่น

ช่วยเปลี่ยนโลกด้วยการแบ่งปันความรู้ด้านการผสานรวมกับเพื่อนสถาปนิกและผู้ที่อยู่บนเส้นทางสู่การเป็นสถาปนิก!

บทถอดความได้รับความช่วยเหลือจาก AI

STA 1.8