Q1:什么是Web API呢?
? ??????如果我們想要獲取一篇Blog,輸入http://localhost:9000/blog/123,就可以看到id為123的Blog頁面,但這個結果是HTML頁面,它同時混合包含了Blog的數(shù)據(jù)和Blog的展示兩個部分。對于用戶來說,閱讀起來沒有問題,但是,如果機器讀取,就很難從HTML中解析出Blog的數(shù)據(jù)。
? ??????如果一個URL返回的不是HTML,而是機器能直接解析的數(shù)據(jù),這個URL就可以看成是一個Web API。比如,讀取http://localhost:9000/api/blogs/123,如果能直接返回Blog的數(shù)據(jù),那么機器就可以直接讀取。
? ??????REST就是一種設計API的模式。最常用的數(shù)據(jù)格式是JSON。由于JSON能直接被JavaScript讀取,所以,以JSON格式編寫的REST風格的API具有簡單、易讀、易用的特點。
編寫API有什么好處呢?由于API就是把Web App的功能全部封裝了,所以,通過API操作數(shù)據(jù),可以極大地把前端和后端的代碼隔離,使得后端代碼易于測試,前端代碼編寫更簡單。
一個API也是一個URL的處理函數(shù),我們希望能直接通過一個@api來把函數(shù)變成JSON格式的REST API。