การ“ เปิดเผย” บางสิ่งหมายความว่าอย่างไร


18

ดังนั้นฉันกำลังทำงานในการสร้างแอปพลิเคชัน Google App Engine และฉันเจอคำว่า "เปิดเผย" หลายครั้งเช่น "แอปแรกของคุณสามารถแสดงวัตถุโดยใช้ HTTP based API" และ "เปิดเผยคลาสข้อมูลโมเดลผ่าน REST API " "เปิดเผย" หมายความว่าอะไร? มีการกระทำบางอย่างที่เกี่ยวข้องหรือไม่หรือเป็นส่วนนามธรรมของการออกแบบ?

คำตอบ:


16

หมายความว่าคุณเปิดใช้งานวัตถุที่สามารถเข้าถึงได้ด้วยวิธีการบางอย่าง ในตัวอย่างของคุณคุณสามารถให้ผู้ใช้สร้างอ่านอัปเดตหรือลบวัตถุ (มักจะย่อไปถึง CRUD) โดยใช้โปรโตคอล HTTP ผ่านวิธีที่กำหนดไว้ล่วงหน้าเพื่อโต้ตอบกับวัตถุของคุณ ( API )

API นั้นสามารถปฏิบัติตามชุดของกฎ - เช่นRESTful APIs ใช้คำกริยา HTTPเพื่อดำเนินการบางอย่างกับวัตถุและพวกเขาปฏิบัติตามหลักการบางอย่างที่บอกว่าควรระบุ / แสดงทรัพยากรอย่างไรและควรจัดการอย่างไรผ่านการเป็นตัวแทนเหล่านั้น

ในบริบทของเว็บแอปพลิเคชันสมมติว่าคุณมีบล็อกโพสต์ที่เก็บไว้ในฐานข้อมูลของคุณ คุณต้องการให้ผู้ใช้แอปพลิเคชันของคุณสามารถทำอะไรกับโพสต์เหล่านั้น พวกเขาไม่จำเป็นต้องใช้เว็บไซต์ของคุณแต่อาจใช้แอปพลิเคชันของตนเองที่จะเชื่อมต่อกับแอปพลิเคชันของคุณ (เช่นโปรแกรมอ่านบล็อก)

ในฐานะเจ้าของแอปพลิเคชันของคุณคุณสามารถกำหนดอินเทอร์เฟซที่แอปพลิเคชันของคุณสามารถเข้าถึงได้ ตัวอย่างเช่นคุณอาจต้องการเพิ่มตัวเลือกสำหรับผู้ใช้บางคนในการอ่านหรือเขียนบทความในบล็อก อินเทอร์เฟซอาจมีลักษณะเช่นนี้ (สำหรับตัวอย่างของ API ที่ซับซ้อนยิ่งขึ้นดูนิยาม API ของ Twitter ):

  • หากGET /posts/{number} HTTP/1.1ได้รับการร้องขอจากเว็บแอปพลิเคชันของคุณคุณจะต้องแสดง ID ของโพสต์{number}ในรูปแบบที่กำหนดไว้ล่วงหน้า

โปรดทราบว่าคุณไม่ได้ให้วัตถุฐานข้อมูลจริงหรือวัตถุแอปพลิเคชันของคุณ คุณกำลังให้การเป็นตัวแทนของวัตถุของคุณ

  • หาก a POST /posts HTTP/1.1ด้วย a title={text1}&body={text2}ถูกโพสต์ลงในเว็บแอปพลิเคชันของคุณคุณจะสร้างวัตถุโพสต์ใหม่{text1}ที่จะมี{text2}เนื้อหาของมันและจะคืนค่ารหัสของโพสต์ที่สร้างขึ้นใหม่

อีกครั้งคุณจะอนุญาตให้ผู้ใช้จัดการการเป็นตัวแทนของวัตถุของคุณ ผู้ใช้ไม่จำเป็นต้องทราบว่าวัตถุของคุณมีลักษณะอย่างไร (ซึ่งแยกออกจากส่วนต่อประสานจากผู้ใช้)

การเปิดเผยวัตถุหมายถึงการให้อินเทอร์เฟซผู้ใช้ในการเข้าถึงและจัดการวัตถุของคุณ หากอินเทอร์เฟซนั้นตรงตามเงื่อนไขที่กำหนดไว้ล่วงหน้าเพิ่มเติมบางประการเกี่ยวกับการเป็นตัวแทนของวัตถุและสถานะของแอปพลิเคชันที่ตีแผ่วัตถุของมันแสดงว่าอินเตอร์เฟสนั้นเป็น REST (หรือ RESTful) API


19

"เปิดเผย" ที่นี่หมายถึงความหมายในภาษาอังกฤษทั่วไป - ให้การเข้าถึงในกรณีที่ไม่สามารถเข้าถึงได้

ตัวอย่างเช่น "แอปแรกของคุณสามารถแสดงวัตถุโดยใช้ API ที่ใช้ HTTP" หมายความว่าบางคนในเครื่องอื่นสามารถจัดการวัตถุของคุณบนเครื่องของคุณโดยขอเว็บเพจที่ถูกต้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.