REST API แบ่งธุรกรรมเพื่อสร้างชุดโมดูลขนาดเล็ก แต่ละโมดูลจะระบุส่วนพื้นฐานเฉพาะของธุรกรรม โมดูลาร์นี้ช่วยให้นักพัฒนามีความยืดหยุ่นมาก แต่อาจเป็นเรื่องยากสําหรับนักพัฒนาในการออกแบบตั้งแต่เริ่มต้น ปัจจุบัน ตัวอย่างกรณีการใช้งานสําหรับ APP Runtime API คือแอพบนอุปกรณ์เคลื่อนที่และแอพที่กําหนดเอง แอพมือถือ
Mobile App เป็นแอพพลิเคชันที่สื่อสารกับเซิร์ฟเวอร์และมือถือผ่านอินเทอร์เน็ตโดยใช้ REST API
ตัวอย่าง Login Mobile App
คุณสมบัติเช่น Key-in Username & Password, Log on with all case, Forgot Password, Remind me later เป็นการกระทําทั้งหมดจากมือถือไปยังเซิร์ฟเวอร์ที่สื่อสารผ่านอินเทอร์เน็ตโดย REST API
แอพแบบกําหนดเอง (Custom App)
Custom App เป็นแอพพลิเคชันที่สื่อสารกับเซิร์ฟเวอร์และเว็บแอพพลิเคชันโดยใช้ REST API
ตัวอย่าง Work Order
App Runtime แสดงรายการ REST API เพื่อให้ผู้ใช้จากระบบอื่นสามารถโต้ตอบกับเอนทิตีที่สร้างขึ้นใน App Designer โดยใช้ REST REST API ในรันไทม์ของแอพนี้สามารถใช้เพื่อ แทรก, อัปเดต และลบ การกําหนดค่าเอนทิตีในฐานข้อมูล ส่วนนี้ให้รายละเอียดของวิธีการที่ได้รับจาก API วิธีการสามารถเพิ่มลงในรากบริบทเพื่อเรียกบริการ
Request
Description
HTTP Method
1. /login
ขั้นตอนการเข้าสู่ระบบเพื่อรับรหัสโทเค็น
POST
2. /entity/{entityID}/search
ค้นหาข้อมูลใน {entityID} ตามพารามิเตอร์ใน URL หลังจากเรียกใช้คุณจะได้รับข้อมูลรูปแบบ Json จาก {entityID}
GET
3. /entity/{entityID}/get
รับข้อมูลรูปแบบ Json จาก {entityID} หลังจากที่คุณผ่านคีย์พารามิเตอร์ใน URL คุณจะได้รับข้อมูล JSON ในโมดูลทั้งหมดของเอนทิตี
GET
4. /entity/{entityID}/save
บันทึกข้อมูล JSON Body ของ {entityID} ลงในฐานข้อมูล
POST
5. /entity/{entityID}/delete
ลบข้อมูลในฐานข้อมูลจากพารามิเตอร์หลัก
POST
6. /entities/save?mainEntityID={entityID}
บันทึกข้อมูล JSON Body ของ {entityID} ในรูปแบบ Parent, Child Tab ลงใน Databaseบันทึกข้อมูล JSON Body ของ {entityID} ในรูปแบบ Parent, Child Tab ลงใน Database
POST
7. /file/upload
อัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ตามการกําหนดค่า
POST
8. /file/{id}/download
ดาวน์โหลดไฟล์จาก {id} ซึ่งอัปโหลดจากเซิร์ฟเวอร์
GET
Step-by-step เพื่อรับข้อมูลเอนทิตีโดย REST API
ขั้นตอนที่ 1 กําหนดค่าเอนทิตีเพื่อรับข้อมูลโดย REST API สําหรับตัวอย่างนี้ เราจะเตรียมเอนทิตีที่ชื่อ Work Order เอนทิตีนี้ประกอบด้วย 3 แท็บและ 4 โมดูล ดูภาพด้านล่าง
ขั้นตอนที่ 2 รับข้อมูลสําคัญเพื่อส่งพารามิเตอร์ไปยัง URL ภาพด้านล่างเป็นหน้าจออัปเดตของ Work Order สําหรับตัวอย่างนี้ คีย์คือ sale_order_no และค่าเป็น 0000000010
ขั้นตอนที่ 3 กระบวนการเข้าสู่ระบบใช้วิธีการโพสต์ เรียกใช้ URL http://localhost:9084/eaf-rest/login ด้วยพารามิเตอร์ Content-Type: application/json และ Body ประกอบด้วย 3 ค่าในรูปแบบ JSON
"username" : "administrator", "password" : "P@55w0rd", "clientId" : "123456789"
หลังจากเรียกใช้ URL เข้าสู่ระบบระบบจะส่งคืน id_token เพื่อใช้ในกระบวนการอื่น ดูภาพด้านล่าง
ขั้นตอนที่ 4 เรียก URL เพื่อรับข้อมูลจากเอนทิตี รูปแบบคือ ServerName, Port, Context
ค่า Root และ ค่า Parameter
รูปแบบ: ServerName:Port/Context Root/Parameter Value ตัวอย่าง: http://localhost:9084/eaf-rest/entity/EN_431959963131500/get?handleForm=Y&SALE_ORDER_NO=0000000010&cbMethod=callback
ขั้นตอนที่ 5 ตั้งค่า Header parameters 3 ตัวต่อไปนี้ดังที่แสดงด้านล่าง
Content-Type: application/json
Authorization: เริ่มมูลค่า Bearer จากนั้นเว้นวรรคและ token id ที่ได้รับจากกระบวนการเข้าสู่ระบบ
clientId: ใช้ clientId เช่นเดียวกับในกระบวนการเข้าสู่ระบบ
ขั้นตอนที่ 6 เรียกใช้ขั้นตอนที่ 3 และขั้นตอนที่ 4 เพื่อรับผลลัพธ์ JSON DATA ดังภาพด้านล่าง
ข้อมูล JSON ประกอบด้วยฟิลด์ต่อไปนี้
ค่า ENTITY_ID ของเอนทิตี ID
ค่า MODULE_ID ของ moduleID
UPDATE เป็นโหมดของกระบวนการ
ALE_ORDER_ITEM คือชื่อตาราง
PRODUCT_ID, PRODUCT_NAME คือชื่อเขตข้อมูล เป็นต้น
KEY เป็นคีย์ของโมดูล/บันทึกในข้อมูลนี้จะเห็นค่า ModuleID 4 ซึ่งเหมือนกันกับการกําหนดค่าของเอนทิตีนี้
คุณเห็นวิธีการรับข้อมูลจากเอนทิตีแล้ว ตอนนี้สมมติว่าแอพพลิเคชันอื่นต้องค้นหาผู้ติดต่อลูกค้าจากหมายเลขคําสั่งซื้อ (Order No) คุณสามารถรับข้อมูลได้จาก REST API
ขั้นตอนที่ 1 ในหน้าจอเข้าสู่ระบบให้ป้อนค่า userName และเรียก Login REST
ขั้นตอนที่ 2 ใช้ Ajax เพื่อเรียก Rest Service เพื่อให้ id_token เข้าสู่เซสชันเพื่อใช้โดยกระบวนการอื่นๆ
ขั้นตอนที่ 3 เตรียมหน้าจอเพื่อป้อนหมายเลขคําสั่งซื้อ (Order No)
ขั้นตอนที่ 4 ป้อนค่า Order No จากนั้น คลิก Find Customer contact
ขั้นตอนที่ 5 ใช้ฟังก์ชัน JavaScript เพื่อเรียกใช้ Ajax REST API เพื่อรับ Data Customer contact โดยส่งพารามิเตอร์ Order No ในส่วนหัวตั้งค่า Content-Type, Authorization (ใช้ id_token จากเซสชัน) และ clientId จากกระบวนการเข้าสู่ระบบ
ขั้นตอนที่ 6 เรียกใช้ REST API และรับข้อมูล JSON โมดูลการเน้นมี CUST_CONTACT ที่ต้องการผลลัพธ์ สามารถรับข้อมูลจาก JSONObject ผ่าน MODULE_ID > UPDATE > SALE_ORDER_DELIVERY > CUST_CONTACT
ขั้นตอนที่ 7 ใช้ JQuery หรือ JavaScript เพื่อแสดงข้อมูลผลลัพธ์