SpringMVC與RESTful

REST到底是什麼

REST是Web服務的一種架構風格,輕量級、跨平臺、跨語言的架構設計。REST是一種設計風格。它不是一種標準,也不是一種軟件,而是一種思想。

REST 架構的主要原則

網絡上的所有事物都可被抽象爲資源(Resource)
每個資源都有一個唯一的資源標識符(Resource Identifier)
同一資源具有多種表現形式(xml、json等)
對資源的各種操作不會改變資源標識符
所有的操作都是無狀態的(Stateless)
符合REST原則的架構方式即可稱爲RESTful

RESTful是什麼

RESTful對應的中文是 REST式的。
RESTful Web Service是一種常見的REST的應用,是遵守了REST風格的web服務。
REST式的web服務是一種ROA(面向資源的架構)

資源操作

http://example.com/users/
GET : 獲取一個資源
POST : 創建一個新的資源
PUT : 修改一個資源的狀態
DELETE : 刪除一個資源

資源展現
XML
JSON
……

http響應狀態碼

這裏寫圖片描述

PUT、DELETE表單提交

默認情況下,PUT和DELETE請求是無法提交表單數據的。
解決方案:在web.xml中配置Spring提供的過濾器解決。

    <!-- 默認情況下,PUT請求是無法提交表單數據的,需要在web.xml中添加如下過濾器解決 -->
    <!-- 此過濾器只能解決PUT請求問題 -->
    <filter>
        <filter-name>HttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>HttpMethodFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- 將POST請求轉化爲DELETE或者PUT請求時,要用_method指定真正的請求參數 -->
    <!-- 此過濾器可以解決DELETE或者PUT請求問題,只是需要加額外的請求參數:_method = "DELETE" 或 "PUT" -->
    <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>
發佈了107 篇原創文章 · 獲贊 201 · 訪問量 55萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章