日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring MVC开发RESTful风格的URI

發布時間:2024/9/30 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring MVC开发RESTful风格的URI 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、寫在前面

RESTful結構可參考博文:https://blog.csdn.net/codejas/article/details/79799386

我們知道在HTTP 協議中,有四種操作方式的動作:GET、POST、PUT和DELETE,分別對應四種基本的操作。GET 用來獲取資源,POST 用來新建資源(也可以用于更新資源),PUT用來更新資源,DELETE 用來刪除資源。

關于RESTful 風格的URI 標準寫法如下:

GET:/restUrl/{id}POST:/restUrlPUT:/restUrl/{id}DELETE:/restUrl/{id}

瀏覽器的form 表單只支持GET 與POST 方式的請求,對于PUT與DELETE 并不支持,在Spring MVC中提供了一個過濾器(HiddenHttpMethodFilter),可以通過該過濾器將POST 形式的請求轉化為PUT 與DELETE 形式的請求。

二、在Spring MVC中開發RESTful風格的URI

2.1步驟

1.在web.xml中配置HiddenHttpMethodFilter 過濾器

2.將POST 請求轉換為DELETE 與PUT請求,即在發送POST 請求時,需要攜帶一個name="_method" 的隱藏域,值為對應的DELETE 與PUT。

2.2代碼實現

1.在web.xml中配置HiddenHttpMethodFilter 過濾器

<filter><filter-name>hiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter><filter-mapping><filter-name>hiddenHttpMethodFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

2.編寫前端代碼

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>test</title> </head> <body><!--默認為'GET' 請求--><a href="user/1">test GET</a><br><!--通過表單指定請求的格式為'POST'--> <form action="user" method="post"><input type="submit" value="test POST"/></form><br><!--通過隱藏域將表單'POST' 請求格式轉化為'PUT'--><form action="user/1" method="post"><input type="hidden" name="_method" value="PUT"/><input type="submit" value="test POST"/></form><br><!--通過隱藏域將表單'POST' 請求格式轉化為'DELETE'--><form action="user/1" method="post"><input type="hidden" name="_method" value="DELETE"/><input type="submit" value="test POST"/></form><br> </body> </html>

3.編寫控制器代碼

@Controller public class TestController {private static final String SUCCESS = "success";/*** 根據id 獲取用戶信息* @RequestMapping 默認處理'GET'形式的請求* @PathVariable 用于獲取請求占位符中的值,并綁定到'id' 中*/@RequestMapping("/user/{id}")public String testGet(@PathVariable(value = "id")Integer id) {// 可以根據id 調用對應的服務接口 ........return SUCCESS;}/*** 新增用戶,可以指定接收的參數類型* 這里簡單的實現一下* 在@RequestMapping 中指定方法為'POST'*/@RequestMapping(value = "/user", method = RequestMethod.POST)public String testPost(){// 在開發的過程中可以根據需求調用對應的服務接口return SUCCESS;}/*** 根據id 修改用戶信息* 在@RequestMapping 中指定方法為'PUT'*/@RequestMapping(value = "/user/{id}", method = RequestMethod.PUT)public String testPut(@PathVariable(value = "id")Integer id) {// 根據id 調用對應的服務接口 ........return SUCCESS;}/*** 根據id 刪除用戶* 在@RequestMapping 中指定方法為'DELETE'*/@RequestMapping(value = "/user/{id}", method = RequestMethod.DELETE)public String testDelete(@PathVariable(value = "id")Integer id) {// 根據id 調用對應的服務接口 ........return SUCCESS;}}

三、總結

通過上面的例子我們應該知道,對于同一組(比如操作用戶)增刪改查的操作,我們可以統一它們的URI,可能這些URI 是相同的,但是卻代表著不同的資源,通過對應的請求方式從而執行增刪改查操作。使用RESTful 風格的架構,可以使設計的軟件更簡潔,更有層次,更易于實現緩存機制等。

總結

以上是生活随笔為你收集整理的Spring MVC开发RESTful风格的URI的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。