2 回答

TA貢獻1886條經驗 獲得超2個贊
你好,Restful API是一種設計風格,并不是強制的標準
我們可以對比一下傳統(tǒng)與其的寫法
傳統(tǒng)寫法:
查詢 /user/query?name=tom GET
詳情 /user/getInfo?id=1 GET
創(chuàng)建 /user/create?name=tom GET
修改 /user/update?id=1&name=jerry POST
刪除 /user/delete?id=1 GET
RESTful寫法
查詢 /user?name=tom GET
詳情 /user/1 GET
創(chuàng)建 /user POST
修改 /user/1 PUT
刪除 /user/1 DELETE
關于Restful API的幾點說法
1、用URL描述資源
2、使用HTTP方法描述行為,使用HTTP狀態(tài)碼來表示不同的結果
3、使用json交互數(shù)據(jù)
4、RESTful只是一種風格,并不是強制的標準
官方也有一個模型:
Level 0 :使用Http作為傳輸方式
Level 1 :引入資源概念,每個資源都有對應的URL
Level 2 :使用HTTP方法進行不同的操作,使用HTTP狀態(tài)碼來表示不同的結果
Level 3 :使用超媒體,在資源的表達中包含了鏈接信息
類似SpringMVC中開發(fā)Restful API,一個查詢請求:
——編寫針對RestfulAPI的測試用例
——使用注解聲明RestfulAPI
——在Restful API中傳遞參數(shù)
常用注解
——@RestController 標明此Controller提供RestAPI
——@RequestMapping及其變體,映射http請求url到java方法
——@RequestParam映射請求參數(shù)到java方法的參數(shù)
——@PageableDefault指定分頁參數(shù)默認值
而對于具體返回什么,或者獲取什么,更多的時候要根據(jù)業(yè)務的重點來設計。

TA貢獻1856條經驗 獲得超11個贊
在執(zhí)行crud之前你肯定要在數(shù)據(jù)庫里面執(zhí)行一次查詢返回,確定該實體是否已經存在,這是一次查詢,如果不存在直接返回錯誤信息,如果GET返回該實體,如果是put,首先驗證你傳過來的data是不是符合格式的,如果驗證通過你就用你驗證后的數(shù)據(jù)來更新改實體,然后對改實體進行save操作,成功存進數(shù)據(jù)庫,返回改更新后的實體,不需要再次查詢,所以去掉第一次的驗證操作需要查詢數(shù)據(jù)庫 后面只需要操作一次數(shù)據(jù)庫
- 2 回答
- 0 關注
- 389 瀏覽
添加回答
舉報