คู่มือฉบับสมบูรณ์สำหรับการพัฒนา API – ความต้องการ การทำงาน เครื่องมือ คำศัพท์และแนวทางปฏิบัติที่ดีที่สุด (& คำศัพท์)
เผยแพร่แล้ว: 2018-05-16สมมติว่าคุณเคยได้ยินคำว่า 'API' เป็นล้านครั้งในขณะที่สื่อสารกับนักพัฒนาแอพมือถือ วันนี้ฉันจะมาพูดถึงทุกอย่างเกี่ยวกับ API ในบทความนี้ ซึ่งรวมถึง API คืออะไร, วิธีใช้ API, API เป็นอย่างไร งานเป็นต้น. ดังนั้น สวมเข็มขัดนิรภัยและเตรียมพร้อมที่จะเข้าสู่โลกของ API – ฮีโร่ผู้อยู่เบื้องหลังการทำงานของแอปบนอุปกรณ์เคลื่อนที่
มาเริ่มกัน ที่ APIs คืออะไร ?
API คืออะไรและเหตุใดจึงสำคัญ
API ( ซอฟต์แวร์ Application Programming Interface) คือชุดคำสั่ง มาตรฐาน หรือข้อกำหนดที่ช่วยให้ซอฟต์แวร์หรือแอปใช้คุณลักษณะ/บริการของแอป แพลตฟอร์ม หรืออุปกรณ์อื่นเพื่อบริการที่ดียิ่งขึ้น กล่าวโดยย่อ เป็นสิ่งที่ช่วยให้แอปสามารถสื่อสารกันได้
ตัวอย่างเช่น เมื่อเรากดปุ่ม 'เชื่อมต่อ Facebook' บน Candy Crush ระบบจะไม่ขอให้เราป้อนรายละเอียดบัญชี Facebook ของเรา แต่จะเข้าถึงข้อมูลจากเซิร์ฟเวอร์ Facebook และให้ เรา สนุกกับการเล่น – ทั้งหมดต้องขอบคุณ API
API เป็นฐานของแอพทั้งหมดที่จัดการกับข้อมูลหรือเปิดใช้งานการสื่อสารระหว่างสองผลิตภัณฑ์หรือบริการ ช่วยให้แอปพลิเคชั่นหรือแพลตฟอร์มมือถือแบ่งปันข้อมูลกับแอพ / แพลตฟอร์มอื่น ๆ และทำให้ประสบการณ์ผู้ใช้ง่ายขึ้นโดยไม่ต้องเกี่ยวข้องกับนักพัฒนา ยิ่งไปกว่านั้น API ไม่จำเป็นต้องสร้างโปรแกรมหรือแพลตฟอร์มที่คล้ายกันตั้งแต่เริ่มต้น คุณสามารถใช้แอปที่มีอยู่หรือแอป/แพลตฟอร์มอื่น เนื่องจากปัจจัยเหล่านี้ ทั้งนักพัฒนาแอปและผู้นำธุรกิจจึงให้ความสำคัญกับกระบวนการพัฒนา API
หากคุณสนใจใน เฟรมเวิ ร์กการพัฒนา API หรือต้องการได้รับความรู้ที่ถูกต้อง โปรดอ่าน คู่มือการพัฒนา API นี้ ต่อไป
ก่อนที่เราจะเจาะลึกเพิ่มเติม เรามาดูคำศัพท์พื้นฐานที่จะช่วยให้เข้าใจแนวคิดได้ง่ายขึ้น
คำศัพท์เฉพาะของการพัฒนา API
ก) คีย์ API : เมื่อมีการร้องขอ API ผ่านส่วนหัวหรือพารามิเตอร์เพื่อรับรู้ผู้ร้องขอ รหัสที่ได้รับอนุญาตที่ส่งผ่านไปยังคำขอจะถูกกล่าวว่าเป็นคีย์ API
b) Endpoint : เมื่อ API โต้ตอบกับระบบอื่น ปลายด้านหนึ่งของช่องทางการสื่อสารจะเรียกว่า Endpoint
c) JSON : JavaScript Object Notion หรือ JSON เป็นรูปแบบข้อมูลที่ใช้สำหรับพารามิเตอร์คำขอ API และเนื้อหาการตอบสนอง
d) GET : วิธี HTTP ของอินเทอร์เฟซโปรแกรมแอปพลิเคชัน RESTful ใน การรับทรัพยากรเรียกว่า GET
e) POST : เป็นวิธีการ HTTP ของ RESTful API สำหรับการสร้างทรัพยากร
f) OAuth : โดยพื้นฐานแล้วเป็นเฟรมเวิร์กการอนุญาตมาตรฐานแบบเปิดที่แสดงการเข้าถึงจากฝั่งผู้ใช้โดยไม่ต้องแชร์ข้อมูลประจำตัวโดยตรง
g) REST: REST ( Representational State Transfer ) เป็นการนำสถาปัตยกรรมการเขียนโปรแกรมไปใช้เพื่อเพิ่มประสิทธิภาพในการสื่อสารระหว่างอุปกรณ์/ระบบทั้งสอง ข้อมูลนี้มีน้ำหนักเบาและอิงตามแนวคิดในการทำให้ข้อมูลเฉพาะพร้อมใช้งานได้ก็ต่อเมื่อได้รับการร้องขอโดยการแบ่งปันข้อมูลอ้างอิงไปยังข้อมูลแทนการคัดลอกข้อมูลทั้งหมดเอง ระบบที่บังคับใช้บนสถาปัตยกรรมนี้เรียกว่าระบบ 'RESTful' และตัวอย่างที่ท่วมท้นที่สุดของระบบ RESTful คือเวิลด์ไวด์เว็บ
h) SOAP : SOAP หรือ Simple Object Access Protocol เป็นโปรโตคอลการส่งข้อความสำหรับการแบ่งปันข้อมูลที่มีโครงสร้างในการดำเนินการบริการเว็บในเครือข่ายคอมพิวเตอร์ ทำงานร่วมกับชุดข้อมูล XML และโปรโตคอลเลเยอร์แอปพลิเคชัน (เช่น HTTP และ SMTP) สำหรับรูปแบบข้อความและการเจรจาและส่งข้อความตามลำดับ
i) เวลาแฝง : เวลาแฝงถูกกำหนดให้เป็นเวลาทั้งหมดที่ใช้ โดยอินเทอร์เฟซโปรแกรมแอปพลิเคชัน ในกระบวนการตั้งแต่คำขอไปจนถึงการตอบสนอง
j) การจำกัดอัตรา : คำว่าการจำกัดอัตรา API หมายถึงกระบวนการกำหนดอัตราที่ผู้ใช้ปลายทางสามารถเข้าถึง API ได้ กล่าวอีกนัยหนึ่ง หมายถึงการจำกัดจำนวนคำขอที่ผู้ใช้สามารถส่งไปยัง API ต่อครั้ง
k) การ ควบคุมปริมาณ API : กระบวนการควบคุมการใช้ API โดยผู้ใช้ในช่วงเวลาหนึ่งเรียกว่าการควบคุมปริมาณ สามารถใช้สำหรับการจำกัด API ตัวอย่างเช่น คุณตั้งค่าขีดจำกัดคำขอ API 1,000 รายการต่อวัน เมื่อผู้ใช้กดคำขอ 1001 เซิร์ฟเวอร์จะส่งข้อความ 429 ข้อความเป็นสถานะ HTTP ไปยังผู้ใช้ปลายทางพร้อมกับข้อความ "คำขอมากเกินไป"
ตอนนี้ อย่างที่คุณ รู้แล้วว่าการพัฒนา API คืออะไรและ คุ้นเคยกับคำศัพท์เฉพาะที่เกี่ยวข้องกับการพัฒนา API มาเจาะลึกลงไปในส่วนทางเทคนิคกัน โดยเริ่มจากวิธีการทำงานของ API และวิธีพัฒนา API (วิธีสร้าง API)
การทำงานของ API
สมมติว่าคุณเปิดแอป/เว็บไซต์ XYZ เพื่อจองเที่ยวบิน คุณกรอกแบบฟอร์ม – คุณป้อนวันที่ออกเดินทางและเดินทางกลับ เมือง เที่ยวบิน และรายละเอียดที่เกี่ยวข้องอื่นๆ และส่ง ภายในเสี้ยววินาที รายการเที่ยวบินจะปรากฏขึ้นบนหน้าจอพร้อมกับราคา เวลา ที่นั่งว่าง และรายละเอียดอื่นๆ สิ่งนี้เกิดขึ้นได้อย่างไร?
{เรียนรู้เพิ่มเติมด้วย: วิธีการใช้ API ใน Fintech และการธนาคาร}
เพื่อให้ข้อมูลที่เข้มงวดดังกล่าว แพลตฟอร์มได้ส่งคำขอไปยังเว็บไซต์ของสายการบินเพื่อเข้าถึงฐานข้อมูลและรับข้อมูลที่เกี่ยวข้องผ่าน อินเทอร์เฟซโปรแกรมแอปพลิเค ชัน เว็บไซต์ตอบสนองด้วยข้อมูลที่ การรวม API ส่งไปยังแพลตฟอร์มและแพลตฟอร์มแสดงบนหน้าจอ
ที่นี่ แอพ/แพลตฟอร์มการจองเที่ยวบินและเว็บไซต์ของสายการบินทำหน้าที่เป็นปลายทางในขณะที่ API เป็นตัวกลางในการปรับปรุงกระบวนการแบ่งปันข้อมูล เมื่อพูดถึงการสื่อสารปลายทาง API ทำงานได้สองวิธี คือ: REST และ SOAP (ดูคำจำกัดความด้านบน)
แม้ว่าทั้งสองวิธีจะให้ผลลัพธ์ที่มีประสิทธิผล แต่บริษัทพัฒนาแอพมือถือกลับชอบ REST มากกว่า SOAP เนื่องจาก SOAP API นั้นหนักและขึ้นอยู่กับแพลตฟอร์ม
เพื่อทำความเข้าใจวงจรชีวิตของ API และ รู้ว่า API ทำงานอย่างไรในรายละเอียด โปรด ติดต่อผู้เชี่ยวชาญของเราวันนี้ !
มาถึงส่วนหลักแล้ว - จะพัฒนา API ได้อย่างไร? เครื่องมือและเทคโนโลยีการพัฒนา API ใด ให้เลือก แนวทางปฏิบัติใดบ้างที่จะนำมาใช้เพื่อ การพัฒนา API อย่างมีประสิทธิภาพ
เครื่องมือสำหรับการพัฒนา API (เช่น PRO..)
ในขณะที่มีเครื่องมือและเทคโนโลยีการออกแบบ API มากมายที่ติดตั้งในกระบวนการสร้าง API แต่ เทคโนโลยี การพัฒนา API ยอดนิยม และเครื่องมือสำหรับการพัฒนา API สำหรับนักพัฒนามีดังนี้:
ก) Apigee : เป็นผู้ให้บริการจัดการ API ของ Google ที่ช่วยนักพัฒนาและผู้ประกอบการให้ประสบความสำเร็จในการเปลี่ยนแปลงทางดิจิทัลด้วย การสร้าง แนวทาง การบูรณา การ API ขึ้นใหม่
b) APIMatic และ API Transformer เป็นเครื่องมือยอดนิยมอื่นๆ สำหรับการพัฒนา API พวกเขามีเครื่องมือสร้างอัตโนมัติที่ซับซ้อนเพื่อสร้าง SDK และข้อมูลโค้ดคุณภาพสูงจากรูปแบบเฉพาะของ API และแปลงเป็นรูปแบบข้อกำหนดอื่นๆ เช่น RAML, API Blueprint เป็นต้น
c) API Science : เครื่องมือนี้ใช้สำหรับประเมินประสิทธิภาพของทั้ง API ภายในและ API ภายนอกเป็นหลัก
d) สถาปัตยกรรมไร้เซิร์ฟเวอร์ API : ผลิตภัณฑ์เหล่านี้ช่วยนักพัฒนาแอพมือถือในการออกแบบ สร้าง เผยแพร่ และโฮสต์ API ด้วยความช่วยเหลือของโครงสร้างพื้นฐานเซิร์ฟเวอร์บนคลาวด์
e) API-Platform : นี่เป็นหนึ่งในเฟรมเวิร์ก PHP โอเพ่นซอร์สที่เหมาะสำหรับการพัฒนาเว็บ API
f) Auth0 : เป็นโซลูชันการจัดการข้อมูลประจำตัวที่ใช้ในการตรวจสอบและอนุญาต API
g) ClearBlade : เป็นผู้ให้บริการจัดการ API สำหรับการนำเทคโนโลยี IoT มาใช้ในกระบวนการของคุณ
h) GitHub : บริการโฮสต์ที่เก็บ git แบบโอเพ่นซอร์สนี้ช่วยให้นักพัฒนาจัดการไฟล์โค้ด ดึงคำขอ ควบคุมเวอร์ชัน และแสดงความคิดเห็นที่เผยแพร่ทั่วทั้งกลุ่ม นอกจากนี้ยังช่วยให้พวกเขาบันทึกรหัสในที่เก็บส่วนตัว
i) บุรุษไปรษณีย์ : โดยพื้นฐานแล้วคือ Toolchain API ที่ช่วยให้นักพัฒนาสามารถเรียกใช้ ทดสอบ จัดทำเอกสาร และประเมินประสิทธิภาพของ API ของตนได้
j) Swagger: เป็นเฟรมเวิร์กโอเพ่นซอร์สที่ใช้สำหรับ ซอฟต์แวร์ พัฒนา API ยักษ์ใหญ่ด้านเทคโนโลยีอย่าง GettyImages และ Microsoft ใช้ Swagger แม้ว่า โลกจะเต็มไปด้วย API แต่ก็ยังมีช่องว่างที่สำคัญในการใช้ประโยชน์จาก เทคโนโลยี API ในขณะที่ API บางตัวทำให้การรวมเข้ากับแอพเป็นเรื่องง่าย แต่บาง API ก็กลายเป็นฝันร้าย เพื่อช่วยคุณในการสร้างความมั่นใจว่าคุณได้สร้างคุณลักษณะเดิมขึ้นมา ต่อไปนี้คือคุณลักษณะ API ที่มีประสิทธิภาพบางส่วนสำหรับนักพัฒนาที่จะต้องพิจารณาในคู่มือการพัฒนา API นี้:
ฟีเจอร์ที่ต้องมีของ API ที่มีประสิทธิภาพ
ด้านล่างนี้คือคุณลักษณะบางประการของ API ที่คุณควรพิจารณาสำหรับการสร้างแอปพลิเคชันมือถือที่ปลอดภัย:
ก) การประทับเวลาการแก้ไข/ค้นหาตามเกณฑ์ : คุณสมบัติ API ที่สำคัญที่สุดที่แอปควรมีคือ การประทับเวลาการแก้ไข/ค้นหาตามเกณฑ์ API ควรให้ผู้ใช้ค้นหาข้อมูลตามเกณฑ์ต่างๆ เช่น วันที่ เนื่องจากเป็นการเปลี่ยนแปลง (อัปเดต แก้ไข และลบ) ที่เราพิจารณาหลังจากการซิงโครไนซ์ข้อมูลครั้งแรกในครั้งแรก
b) Paging : หลายครั้งที่เราไม่ต้องการเห็นการเปลี่ยนแปลงของข้อมูลทั้งหมด แต่เพียงแค่เหลือบไปเห็น ในสถานการณ์เช่นนี้ API ควรจะสามารถกำหนดจำนวนข้อมูลที่จะแสดงในครั้งเดียวและความถี่ได้ นอกจากนี้ยังควรแจ้งให้ผู้ใช้ปลายทางทราบเกี่ยวกับหมายเลข ของหน้าข้อมูลคงเหลือ
ค) การจัดเรียง : เพื่อให้แน่ใจว่าผู้ใช้จะได้รับข้อมูลหน้าทั้งหมดทีละหน้า API ควรให้อำนาจผู้ใช้ในการจัดเรียงข้อมูลตามเวลาของการแก้ไขหรือเงื่อนไขอื่น ๆ
d) JSON Support/ REST : แม้ว่าจะไม่บังคับ แต่ควรพิจารณา API ของคุณให้เป็น RESTful (หรือให้การสนับสนุน JSON (REST)) สำหรับการ พัฒนา API ที่มีประสิทธิภาพ REST API เป็นแบบไร้สัญชาติ น้ำหนักเบา และให้คุณลองขั้นตอนการอัปโหลดแอปบนอุปกรณ์เคลื่อนที่อีกครั้งหากล้มเหลว สิ่งนี้ค่อนข้างยากในกรณีของ SOAP นอกจากนี้ ไวยากรณ์ของ JSON ยังคล้ายกับภาษาการเขียนโปรแกรมส่วนใหญ่ ซึ่งทำให้นักพัฒนาแอปบนอุปกรณ์เคลื่อนที่แยกวิเคราะห์เป็นภาษาอื่นได้ง่าย
จ) การอนุญาตผ่าน OAuth : จำเป็นอีกครั้งที่ ส่วนต่อประสานโปรแกรมแอปพลิเคชัน ของคุณต้อง อนุญาตผ่าน OAuth เนื่องจากเร็วกว่าวิธีอื่น คุณเพียงแค่คลิกปุ่มก็เสร็จ
กล่าวโดยสรุปคือ เวลาดำเนินการควรน้อยที่สุด เวลาตอบสนองดี และระดับความปลอดภัยสูง เป็นสิ่งสำคัญอย่างยิ่งที่ต้องใช้ความพยายามในแนวทางปฏิบัติที่ดีที่สุดสำหรับการพัฒนา API สำหรับการรักษาความปลอดภัยให้กับแอปพลิเคชันของคุณ เนื่องจากเกี่ยวข้องกับกองข้อมูลจำนวนมาก
แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้าง API ที่เหมาะสม
ก) ใช้การควบคุมปริมาณ : การควบคุมปริมาณการใช้แอปเป็นวิธีปฏิบัติที่ดีในการพิจารณาเปลี่ยนเส้นทางการรับส่งข้อมูลที่ล้นเกิน API สำรอง และปกป้องจากการโจมตี DoS (การปฏิเสธบริการ)
b) พิจารณาเกตเวย์ API ของคุณ เป็นผู้บังคับใช้ : ขณะตั้งค่ากฎการควบคุม แอปพลิเคชันคีย์ API หรือ OAuth เกตเวย์ API จะต้องถือเป็นจุดบังคับใช้ ควรใช้เป็นตำรวจที่อนุญาตให้ผู้ใช้ที่เหมาะสมเท่านั้นที่สามารถเข้าถึงข้อมูลได้ ควรให้อำนาจคุณในการเข้ารหัสข้อความหรือแก้ไขข้อมูลที่เป็นความลับ ด้วยเหตุนี้ วิเคราะห์และจัดการวิธีการใช้ API ของคุณ
c) อนุญาตวิธีการแทนที่ HTTP : เนื่องจากพร็อกซีบางตัวรองรับเฉพาะวิธี GET และ POST คุณต้องปล่อยให้ RESTful API ของคุณแทนที่วิธี HTTP สำหรับการทำเช่นนั้น ใช้ HTTP Header X-HTTP-Method-Override แบบกำหนดเอง
d) ประเมิน API และโครงสร้างพื้นฐาน : ในปัจจุบัน การวิเคราะห์แบบเรียลไทม์สามารถรับได้ แต่ถ้าเซิร์ฟเวอร์ API ถูกสงสัยว่ามีหน่วยความจำรั่ว ซีพียูหมด หรือปัญหาอื่นๆ ในการพิจารณาสถานการณ์ดังกล่าว คุณไม่สามารถให้นักพัฒนาอยู่ในหน้าที่ได้ อย่างไรก็ตาม คุณสามารถดำเนินการนี้ได้อย่างง่ายดายโดยใช้เครื่องมือมากมายที่มีอยู่ในตลาด เช่น AWS cloudwatch
จ) รับรองความปลอดภัย: คุณต้องแน่ใจว่า เทคโนโลยี API ของคุณ ปลอดภัยแต่ไม่ต้องเสียค่าใช้จ่ายในการใช้งานง่าย หากผู้ใช้รายใดใช้เวลามากกว่า 5 นาทีในการตรวจสอบสิทธิ์ แสดงว่า API ของคุณยังห่างไกลจากการเป็นมิตรกับผู้ใช้ คุณสามารถใช้การรับรองความถูกต้องโดยใช้โทเค็นเพื่อทำให้ API ของคุณปลอดภัย
ฉ) เอกสาร ประกอบ : สุดท้ายแต่ไม่ท้ายสุด การสร้างเอกสารประกอบที่ครอบคลุมสำหรับ API สำหรับแอพมือถือจะช่วยให้นักพัฒนาแอพมือถือรายอื่นเข้าใจกระบวนการทั้งหมดได้อย่างง่ายดาย และใช้ข้อมูลเพื่อนำเสนอประสบการณ์การใช้งานที่ดียิ่งขึ้นแก่ผู้ใช้ กล่าวอีกนัยหนึ่ง เอกสาร API ที่ดีในกระบวนการพัฒนา API อย่างมีประสิทธิภาพจะช่วยลดเวลาในการดำเนินโครงการ ต้นทุนโครงการ และเพิ่ม ประสิทธิภาพ ของ เทคโนโลยี API
ต้นทุนการพัฒนา API
โดยเฉลี่ยแล้ว มีค่าใช้จ่าย 20,000 ดอลลาร์ในการสร้าง API ที่ค่อนข้างง่าย ตัวเลขนี้ถือว่าคุณกำลังสร้าง API ที่ปลอดภัย มีเอกสารประกอบ และมีคุณสมบัติครบถ้วนด้วยบริการของนักพัฒนาซอฟต์แวร์ API ที่มีประสบการณ์ซึ่งทำงานร่วมกับบริษัทพัฒนา API ที่มีชื่อเสียง
คำถามที่พบบ่อยเกี่ยวกับการพัฒนา API
1. การพัฒนา REST API และ SOAP API คืออะไร
REST (Representational State Transfer) API เป็นรูปแบบสถาปัตยกรรมซอฟต์แวร์ที่อธิบายชุดของข้อจำกัดทั้งหมดที่จะใช้สำหรับการสร้างบริการบนเว็บ ในขณะที่ SOAP (Simple Object Access Protocol) เป็นโปรโตคอลที่ซับซ้อนมากโดยเพิ่มมาตรฐานมากกว่า REST เช่น ความปลอดภัย
2. ฉันจะสร้าง RESTful API ที่ดีได้อย่างไร
การสร้าง RESTful API ที่ดีจะง่ายขึ้นเมื่อคุณปฏิบัติตามแนวทางปฏิบัติเหล่านี้:-
- ใช้การควบคุมปริมาณ
- พิจารณา API เกตเวย์ของคุณเป็นผู้บังคับใช้
- อนุญาตให้แทนที่เมธอด HTTP
- การทำเอกสารที่ถูกต้อง
- กำหนด API และโครงสร้างพื้นฐาน
3. การพัฒนา API และประเภทของ API คืออะไร?
API (Application Programming Interface) คือชุดของคำสั่งและข้อกำหนดที่อนุญาตให้ซอฟต์แวร์หรือแอปพลิเคชันมือถือใช้คุณลักษณะ/บริการของแอปพลิเคชัน แพลตฟอร์ม หรืออุปกรณ์อื่นๆ สำหรับบริการพิเศษ
โดยทั่วไปแล้ว API มีหลายประเภท:-
- API บริการเว็บ
- WebSocket APIs
- API ที่ใช้ไลบรารี
- วัตถุระยะไกล APIs
- API แบบคลาส
- ฮาร์ดแวร์ API เป็นต้น
4. JSON API คืออะไร?
JSON (JavaScript Object Notation) เป็นรูปแบบการเข้ารหัสที่สร้างขึ้นเพื่อขจัดความจำเป็นในการใช้โค้ดเฉพาะกิจสำหรับแต่ละแอปในการโต้ตอบกับเซิร์ฟเวอร์ในลักษณะเฉพาะ
บทสรุป
เมื่อคุณได้รับความรู้เชิงลึกเกี่ยวกับ API คืออะไร วิธีการใช้ API และปัจจัยใดบ้างที่ควรพิจารณาขณะพัฒนา คุณสนใจ ที่จะ พัฒนา API หรือไม่ หากเป็นเช่นนั้น โปรดติดต่อผู้เชี่ยวชาญของเราสำหรับบริการพัฒนา API ชั้นนำ พวกเขาจะแนะนำคุณตลอดกระบวนการทั้งหมดและช่วยในการสร้าง API ที่ปลอดภัย ในกรณีที่คุณสนใจ บริการพัฒนาแอพมือถือ เราสามารถช่วยคุณได้เช่นกัน เราเป็นบริษัทพัฒนาแอพมือถือที่มีชื่อเสียงในสหรัฐอเมริกา