SpringMVC學習09 :RestFul風格講解
SpringMVC學習09 :RestFul風格講解
-
RestFul風格:
-
概念:
-
RestFul就是一個資源定位及資源操作的風格,不是標準,也不是協議,只是一種風格。
-
基於這個風格的軟體可以更簡潔,更有層次,更易於實現快取等機制;
-
RestFul風格:都是以 / 作為分隔符;
-
-
功能:
-
資源:網際網路所有的事物都可以被抽象為資源;
-
資源操作:使用POST,DELETE,PUT,GET,使用不同方法對資源進行操作;
-
分別對應:新增,刪除,修改,查詢;
-
-
-
傳統方式操作資源:
-
通過不同的引數來實現不同的效果:方法單一:post和get
http://127.0.0.1/admin/demo1.action?id=1 查詢,GET
http://127.0.0.1/admin/demo2.action 新增,POST
http://127.0.0.1/admin/demo3.action 更新,POST
http://127.0.0.1/admin/demo4.action?id=1 刪除,GET/POST
-
-
使用RestFul操作資源:
-
可以通過不同的請求方式來實現不同的效果:如下:請求地址一樣,但是功能可以不同;
-
大型網站都是RestFul風格;
http://127.0.0.1/item/1 查詢,GET
http://127.0.0.1/item 新增,POST
http://127.0.0.1/item 更新,PUT
http://127.0.0.1/item/1 刪除,DELETE
-
-
測試:
-
原來方式測試類:
-
RestFul方式測試:
-
在SpringMVC中可以使用@PathVariable註解,讓方法引數的值對應繫結到一個URL模板變數上;
-
RestFul方式:http://localhost:8080/add/1/4
-
-
思考:使用路徑變數的好處?
-
簡潔:訪問路徑簡潔;
-
高效:RestFul支援快取;
-
安全:原來的方式,引數直接暴漏;
-
-
-
使用Method屬性指定請求型別:
-
用於約束請求的型別,可以收窄請求範圍,指定請求謂詞的型別如:GET,POST,PUT,DELETE等;
-
測試:
-
瀏覽器預設的請求方式是GET,如果我們顯式定義的不一致,就會報錯405;
-
【重點】:method方法的值一定要加 { }
-
-
總結:
-
SpringMVC的@RequestMapping註解能夠處理HTTP請求的方法,比如GET , PUT , POST , DELETE以及PATCH等;
-
所有的位址列請求預設都會是HTTP GET型別的;
-
方法級別的註解變體有:組合註解
-
@GetMapping是一個組合註解,平時使用的會比較多!
-
-