API và nh ng đi u c n bi tữ ề ầ ế
Hi nệ nguyên lý REST và c u trúc d li u RESTfulấ ữ ệ đ c bi t đ n r t ượ ế ế ấ
r ng rãi trong gi i l p trình, nh ng v n có nhi u ng i hay nh m l n. B nộ ớ ậ ư ẫ ề ườ ầ ẫ ả
thân REST không ph i là m t lo i công ngh , mà làả ộ ạ ệ ph ng th c t o APIươ ứ ạ
v i nguyên lý t ch c nh t đ nhớ ổ ứ ấ ị . Nh ng nguyên lý này nh m h ng d n ữ ằ ướ ẫ
l p trình viên t o môi tr ng x lý API request đ c toàn di n h n.ậ ạ ườ ử ượ ệ ơ
Trong bài vi t này, tôi s gi i thích m t s ph ng th c phát tri nế ẽ ả ộ ố ươ ứ ể RESTful
góc nhìn toàn c nh nh t, đ ng th i làm rõ khái ni m REST APIs. Tôi s ở ả ấ ồ ờ ệ ẽ
t p trung vàoậ câu h i “l p trình cái gì” h n là “l p trình nh th nào”ỏ ậ ơ ậ ư ế .
REST For Web Developers
REST là vi t t t c aế ắ ủ Representational State Transfer. Gi i thích đ n ả ơ
gi n, REST là m t lo tả ộ ạ h ng d n và d ng c u trúc dùng cho vi c ướ ẫ ạ ấ ệ
chuy n đ i d li uể ổ ữ ệ . Thông th ng, REST hay đ c dùng cho ng d ng ườ ượ ứ ụ
web, nh ng cũng có th làm vi c đ c v i d li u ph n m m.ư ể ệ ượ ớ ữ ệ ầ ề
API là vi t t t c a Application Programming Interface, ph ng th cế ắ ủ ươ ứ k t ế
n i v i các th vi n và ng d ng khácố ớ ư ệ ứ ụ . Windows có nhi u API, và ề
Twitter cũng có web API, tuy chúng th c hi n các ch c năng khác nhau, v iự ệ ứ ớ
m c tiêu khác nhau.ụ
Nhìn chung, RESTful API là nh ng API đi theo c u trúc REST.ữ ấ
C u trúc REST là gì?ấ
Th t khó gi i thích sao cho c th . Tuy nhiên, v n có m t sậ ả ụ ể ẫ ộ ố quy lu t b t ậ ấ
bi n, nh :ế ư
S nh t quánự ấ trong c APIả
T n t i không trang tháiồ ạ (ví d , không có server-side session)ụ
S d ngử ụ HTTP status code khi c n thi tầ ế
S d ngử ụ URL endpoint v i logical hierarchyớ