จากการสอนและแนะนำเรื่องการออกแบบ API (Application Programming Interface) ที่ดีไม่ว่าจะเป็น code ไม่ว่าจะเป็น RESTFul API ก็ตามAPI เหล่านั้นควรมีคุณสมบัติต่าง ๆ ดังนี้ ออกแบบในมุมมองของคนใช้งาน ไม่ใช่มุมมองขอคนสร้าง ง่ายต่อการเรียนรู้และใช้งาน โดยเอกสารเป็นสิ่งสุดท้ายที่ควรอ่าน ยากต่อการใช้งานผิด ง่ายต่อการดูแลรักษาในระดับ code ซึ่งทำให้พัฒนาและต่อยอดได้ง่าย ต้องมีความสัมพันธ์กับความต้องการต่าง ๆ
Read More…
ปกติการจำลอง API Server หรือพวก Mock/Fake API Server นั้น จะมีเครื่องมือให้ใช้เยอะมาก ๆ ทั้ง Stubby mbtest jsonserver WireMock แน่นอนว่าใน VS Code ก็มี extension ให้ใช้งานเช่นกันนั่นคือ EasyMock โดยด้านหลังคือ lib ที่ชื่อว่า mockjs (ภาษาจีน)
Read More…
ไปเจอว่า OWASP นั้นเพิ่มเรื่องของ API Security มาด้วย (ตามจริงมานานละ แต่เพิ่งเห็น) กับมีงานที่ต้องนำไปใช้นิดหน่อย เนื่องจากทุกระบบงานก็มีการใช้งาน API (Application Programming Interface) อยู่แล้ว ไม่ว่าจะอยู่ในรูปแบบไหนทั้ง REST, Web API และ WebService เป็นต้น ยิ่งเปิดให้ใช้งานแบบ public ด้วยแล้ว (ไม่ว่าทางตรงหรือทางอ้อม) สิ่งที่สำคัญมาก ๆ คือ เรื่องของความปลอดภัยนั่นเอง
Read More…
เห็นใน timeline มีการ share เรื่องไปรษณีย์ไทย เปิด API สำหรับการ tracking หรือติดตามสถานะของการส่งของได้ เป็นแนวทางที่ดีมาก ๆ และน่าจะทำมาตั้งนานแล้วดังนั้นมาดูกันหน่อยว่ามีอะไรให้ใช้งานบ้าง ?และใช้งานแล้วเป็นอย่างไร
Read More…
วันนี้มีโอกาสได้แบ่งปันความรู้สำหรับการสร้าง API ด้วยภาษา Python โดยสิ่งที่ต้องการคือ พัฒนาได้ง่าย ยิ่งถ้าสร้างจาก specification บางอย่างด้วยน่าจะดี ขนาดไม่ใหญ่ ไม่ซับซ้อน ดังนั้นจึงเลือก Flask ซึ่งเป็น microframework สำหรับการพัฒนาระบบ web รวมทั้งใช้ Connexion เพื่อช่วยทำการสร้าง API แบบอัตโนมัติ จากการกำหนดค่าต่าง ๆ ในรูปแบบ OpenAPI หรือ Swagger Specification นั่นเอง ซึ่งน่าจะเป็นทางเลือกที่น่าสนใจ มาลองใช้งานกัน
Read More…
ต้นเดือนมีนาคมที่ผ่านทาง Google ได้ปล่อย API Design Guide ออกมา ซึ่งเป็นแนวทางสำหรับการออกแบบ API ต่าง ๆ ของ Google ไม่ว่าจะเป็น Cloud API และ Google API อื่น ๆ มาตั้งแต่ปี 2014 โดยเป้าหมายของเอกสารชุดนี้เพื่อ ช่วยทำให้การทำงานร่วมกันได้ดียิ่งขึ้นประกอบไปด้วย Simple Consistent Easy-to-use
Read More…
จากการพูดคุยเรื่องการทดสอบ RESTful API ที่ Facebook มีการพูดถึง Silk ซึ่งเป็น framework สำหรับการทดสอบ RESTful API ด้วยการเขียนเอกสารในรูปแบบ Markdown ดังนั้นจึงลองนำมาใช้งานแบบขำ ๆ กันหน่อย
Read More…
เนื่องจากช่วงนี้ต้องไปร่วมพัฒนาระบบงานที่มี RESTful APIs ให้บริการ พบว่าสิ่งหนึ่งสำหรับนักพัฒนาที่ดีจะต้องคำนึงถึงก็คือ การจัดการกับ error หรือข้อผิดพลาดต่าง ๆ ซึ่งถ้าจัดการได้ดี จะทำให้ API ที่สร้างนั้นมันดูดีมากขึ้น เนื่องจากสิ่งที่สร้างนั้น เพื่อให้คนใช้งานนะ ดังนั้นการออกแบบสำหรับการจัดการข้อมูลพลาดจึงสำคัญมาก ๆ จึงทำการสรุปเรื่องที่ต้องใส่ใจไว้ดังนี้
Read More…
จากการพูดคุยกับหลายทีม พบว่า ปัญหาอย่างหนึ่งที่มักพบเจอคือ การเชื่อมต่อกับระบบต่าง ๆ ผ่าน REST APIs หรือแม้แต่การพัฒนาระบบเดียวกันที่ต้องแบ่งเป็น 2 ทีม คือ ทีม Frontend อาจจะเป็น Web หรือ Mobile ก็ได้ ทีม Backend หรือ ทีม API เนื่องจากต้องทำการเชื่อมต่อ และ integrate กันตลอด ถ้า API ยังพัฒนาไม่เสร็จล่ะ ? ถ้าระบบ network มันล่มล่ะ ? ถ้าระบบ API มันล่มล่ะ ? คำถามคือ จะแก้ไขปัญหาเหล่านี้อย่างไรดี
Read More…