Custom Error Handling for ObjectMapper
ผมเคยเขียนถึง Model Mapper Library ชื่อ Mantle  เมื่อนานมาแล้ว ตอนเขียน Objective-C  ชอบมากเลยตอนนั้น สบายขึ้นเยอะ แต่พอมาเขียน Swift ก็หาอะไรที่คล้ายและเก่งเท่า Mantle ไม่ได้เลย   ผมลองหลายตัวจนมาจบที่ ObjectMapper  และผมใช้คู่กับ Network Library ชื่อดังอย่าง Alamofire  ซึ่งมีคนทำ Extension ครอบไว้ให้เลยคือตัวนี้ AlamofireObjectMapper  ทำให้เมื่อเราขอข้อมูลจาก API ผ่าน Network แล้วโค้ดที่ได้ก็จะหน้าตาประมาณนี้เลย    Wait for the Code ....   จะเห็นว่าส่วนของ JSON Parser จะไม่อยู่ที่นี่ แต่มีเพียงโค้ดที่เราทำการขอข้อมูลจาก API และพ่นออกมาเป็น Object ให้เราเลย คราวนี้พอเราแงะเข้าไปดูใน AlamofireObjectMapper  นั้น หน้าที่ของการทำ json parsing จะอยู่ที่การเขียน Extension  ของ Request  class ของ Alamofire เพื่อทำ Custom Serializer  ระหว่างที่เซิฟเวอร์ส่งข้อมูลกลับมาให้เรา    Wait for the Code ....      บางคนอาจจะไม่มีปัญหากับโค้ดนี้ แม้กระทั่งผมจนพบว่า มีปัญหาหว่ะ...  นั่นคือจังหวะของการ parse error จากเซิฟเวอร์ซึ่งคนเขียน Extenstion นี้ไม่ได้เขียนในส่วนของการจัดการ Custo...