Tổng hợp một số chú ý khi code API
Khi phát triển API phía server để truyền tin Ajax với Javascript phía frontend , android hoặc Iphone. Vậy làm sao để thiết kế một API tốt ? Bài viết hôm nay , mình sẽ tổng hợp một số ý kiến khi thiết kế API Theo cách versioning thì có 4 cách . Với mỗi cách thì có ưu điểm và nhược điểm ...
Khi phát triển API phía server để truyền tin Ajax với Javascript phía frontend , android hoặc Iphone. Vậy làm sao để thiết kế một API tốt ? Bài viết hôm nay , mình sẽ tổng hợp một số ý kiến khi thiết kế API
Theo cách versioning thì có 4 cách . Với mỗi cách thì có ưu điểm và nhược điểm riêng, vì vậy tuỳ theo đặc trưng của service mà ta chọn cách hợp lý trong số đó
1. Customize , chèn thêm api-version vào http header
ex) x-api-version: 1
Với cách này, thông tin truyền đi mỗi lần khá ít.Nó khá là hiệu quả với service hầu như không phân tách giữa online và offline .Cả hai service của OAuth base system đều có tính tương thích rất cao.
Trong trường hợp không chỉ định version ở header , thì default sẽ sử dụng version mới nhất
Ví dụ : facebook graph
2. Trong http content-type
ex) application/com.xxxx.v2+json
Ví dụ sử dụng : github
3. Kiểu parameter
ex) /api/xxxx?api_version=1
Ví dụ cụ thể trong trường hợp sau khi login, session được sinh ra . Khi đó URL sẽ đơn giản kiểu
/api/session/create?id=foo&password=bar&api_version=1
nếu xác thực thành công, sẽ get session_token (chỉ có hiệu quả trong thời gian nhất định). Sau đó, vì áp dụng API version đã được lưu phía server nên không cần gửi thông tin đi kèm api_version từ phía client mà chỉ cần gửi mỗi thông tin key session_token.
Cách làm này có hiệu quả với service cần thiêt xác định trạng thái online or offline
4. Trong routing
ex) /api/v1/xxxx, /api/v2/xxxx
Ví dụ : foursquare
qiita