Udemy 課程Microservices with Spring 24
不一定說要達到最後一級才是可以使用的Restful API
只是方便評定Restful等級,或方便升級API
0級:
此層級的API不可以算是 Rest API,而是僅把HTTP當作傳輸協議,毫無資源(Resource)概念,並暴露應用了Rest格式的SOAP webservice,例如下列的url
http://server/getPosts
http://server/deletePosts
http://server/doThis
上面URL沒有顯示我背後是有什麼資源
是User資料?
是帳號資料?
還是待做事項(todo)資料?
完全無從得知
1級:
http://server/accounts
http://server/accounts/10
開始有了資源(Resource)的概念
由url可以知道我是在針對帳號(accout)相關的操作
但是仍未使用適當的Http Method!!
2級:
1級+使用洽當的Http Method
刪除account則帶的Http Method就用DLETE
新增時的Http Method就用POST...以此類推
3級:
2級+HATEOAS(hyper media as the engine of application state)
除了該API應回傳的資料或訊息外,另外還帶了可能會需要用到的API資訊等
方便取用API者看到回傳訊息後,方便有更進一步的動作
部份總結:
- 開始真正專案前,釐清User的需求
- 使用正確的HTTP Method:
GET
POST
PUT
DELETE
3. 使用正確的RESPONSE STATUS EX:
200 — SUCCESS
404 — RESOURCE NOT FOUND
400 — BAD REQUEST
201 — CREATED
404 — UNAUTHORIZED
500 — SERVER ERROR
4. URI中不帶有資安風險的訊息
5. 為了更容易理解,多使用複數型 EX:
/users 比 /user好
/users/1 比 /user/1 好
6. 針對RESOURCE時,盡量使用名詞(當然不一定所有情況都可以做到) EX:
PUT /gists/{id}/star
DELETE /gists/{id}/star
7.最重要,需再強調User/Consumer First!