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

ภาพรวมของเว็บเซอร์วิสที่กำหนดเอง
เราจะสำรวจห้าตัวอย่างของเว็บเซอร์วิสที่กำหนดเอง:
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 ง่ายๆ

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

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

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

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

บทสรุป
ผ่านตัวอย่างเหล่านี้ เราได้แสดงตัวต่อพื้นฐานในการสร้าง Apex web service ที่กำหนดเองใน Salesforce เริ่มจากคำขอ GET ง่ายๆ เราค่อยๆ เพิ่มความซับซ้อน แนะนำพารามิเตอร์ คำขอ POST และการจัดการข้อผิดพลาด
ติดตามต่อ
ขอบคุณที่อ่าน และผมตั้งตารอที่จะแบ่งปันการผจญภัยที่อัดแน่นด้วยความรู้กับคุณอีกเร็วๆ นี้! ติดตามได้ที่ www.SteveTechArc.com และช่อง YouTube @SteveTechArc (opens in a new tab) กดติดตามและเพิ่มความเข้าใจเรื่อง Salesforce และวิธีผสานรวมมันกับระบบอื่น
ช่วยเปลี่ยนโลกด้วยการแบ่งปันความรู้ด้านการผสานรวมกับเพื่อนสถาปนิกและผู้ที่อยู่บนเส้นทางสู่การเป็นสถาปนิก!
บทถอดความได้รับความช่วยเหลือจาก AI
STA 1.8