Posts

Showing posts with the label restful

RESTFul API with Node.js + Express

Image
วันนี้จะมาเขียนเกี่ยวกับการทำ RESTFul API บน Node.js Platform นะ โจทย์ของเราไม่มีอะไรยากเลย เป็นแค่ Simple API ที่จะจัดการข้อมูล User ในระบบ ซึ่งจะมี Operation ทั้งหมด 4 Operation คือ ดึงข้อมูล User ทั้งหมด เพิ่ม User โดยส่งชื่อและอายุ แก้ไขข้อมูล User โดยอ้างอิงจาก id และส่งข้อมูลที่ต้องการแก้ไข (ชื่อ และ/หรือ อายุ) ลบข้อมูล User โดยอ้างอิงจาก id เริ่มต้นที่ผมสร้าง Folder ใหม่ชื่อ nodeapi จากนั้นก็สร้าง package.json เพื่อใส่ dependency ที่ใช้ เรียบร้อยแล้วก็ลง Dependency กันก่อน โดยเข้าไปที่ Folder เราแล้วพิมพ์ จากนั้นการที่จะทำ RESTFul API ผ่านตัว Node.js เลย อาจจะเขียนไม่ง่ายเท่าไร วันนี้ก็เลยใช้ตัวช่วยที่ชื่อว่า Express ซึ่งเป็น Web Framework ที่เป้นนิยมบน Node.js Platform แต่เราจะเอา Library ตัวนี้มารับ HTTP Request เท่านั้น ต่อไปสร้าง index.js มาเริ่มเขียนโปรแกรมกันดีกว่า var express = require('express'); var app = express(); var http = require('http'); var userService = require('./user'); // Setup Express MiddleWare app.set('port', pr...

[Command Line Tools] ใช้ cURL ในการทดสอบ RESTFul API

Image
ถ้าใครใช้ Browser แล้วอยากสบายก็ใช้พวก Plug-in ได้เลยครับ Firefox -- RestClient Crome -- Postman แต่ถ้าใครอยากเท่ เรามาใช้ cURL บน Command Line Interface (Unix) กันเถอะครับ :P โดย Default แล้วมันติดมากับ Command Line Tools เลยนะ (ถ้าจำไม่ผิด) แต่ถ้าไม่มีก็ลงจาก Homebrew ได้ครับ เพียงสั่ง $ brew install curl RESTFul API ที่เราจะทดสอบโดยใช้ cURL ก็มีดังนี้ครับ GET, POST, PUT and DELETE API ที่ใช้ทดสอบก็เป็น API ง่ายๆ ที่เขียนเองด้วย Ruby on Rails นะครับ Fotmat ที่ใช้ JSON มี Table เดียวชื่อ User ซึ่งจะมี Field ทั้งหมด 3 Field ประกอบไปด้วย first_name last_name email ส่วน id, created_at, updated_at นี่ Rails ทำการ generates มาให้เองครับ :) เริ่มที่ GET นะครับ โดยจะ request ไปที่ http://localhost:3000/users.json $ curl -i url_to_request GET Request Server Response POST ผมสั่ง create user แล้วกัน ก็ POST ไปที่ http://localhost:3000/users.json $ curl -d "post_parameters" url_to_request $ curl -H "Content-Type:application/json" -d...

Facebook Graph API

Image
Core Concept: Social Graph Facebook มี Core Concept ที่เรียกว่า Social Graph โดยมองข้อมูลแต่ละอย่าง ไม่ว่าจะเป็น User, Likes, Comments, Pages and etc. จะถูกมองเป็น Object ทั้งหมด และมองว่าข้อมูลทุกอย่างมีความสัมพันธ์กัน เช่น ความสัมพันธ์ระหว่าง User กับ User's Friend, ความสัมพันธ์ของ Post และ Post's Likes และอื่นๆ โดยในแต่ละ Object นั้นก็จะมี Uniqe ID ที่มั่นใจว่าไม่ซ้ำกันอย่างแน่นอน Graph API Graph API มีคุณสมบัติเป็น RESTful API (GET, POST, PUT, DELETE) ที่เป็น API แบบที่เราต้องส่ง HTTP Request เพื่อขอข้อมูลที่ต้องการในรูปแบบของ URL ไปให้กับ Server แล้วรอผลลัพธ์กลับมา ... โดย Facebook เลือกใช้ JSON เป็น Format ของ Response ที่กลับมา ...  เราสามารถ Access Properties พื้นฐานของ Object ได้ด้วยการ Request ไปที่ id ของ Object นั้นๆ หรือถ้าเป็น Pages หรือ User ก็ Request ด้วย Username ก็ได้  http://graph.facebook.com/baszii or http://graph.facebook.com/100000159471590 ซึ่งข้อมูลข้างต้นนี้ ไม่จำเป็นต้อง Login ก็สามารถที่จะ Request มาใช้ได...