springmvc的RESTful風格

來源:互聯網
上載者:User

標籤:json   http協議   簡潔   風格   turn   定義   throw   mss   參數   

springmvc對RESTful得支援
RESTful架構,就是目前最流行得一種互連網軟體架構。它結構清晰、符合標準、易於理解、擴充方便,所以掙得到越來越多網站的採用。

RESTful(即Representational State Transfer變現層狀態轉換)其實是一個開發理念,是對http 的很好的詮釋。


狀態轉換(State Transfer)
用戶端用到的手段,只能是HTTP協議。具體來說就是HTTP協議裡面四個表示操作方式的動詞:GET/POST/PUT/DELETE,分別對應四中基本操作:GET用來擷取資源,POST用來建立資源(也可以用來更新資源),put(用來更新資源),DELETE用來刪除資源。

1、對url進行規範,寫成RESTful格式的url

非RESTful的uri: http://.../queryitems?id=001&type=T01
RESTful的url風格:http://.../items/001
特點:url簡潔,將參數通過url傳到服務端

2、對http的方法進行規範
不管是刪除、添加、更新。。。使用url是一致的,如果需要進行刪除,需要設定http的方法為delete,同理添加。。。

後台controller方法:判斷http方法,如果是delete執行刪除,如果是post執行添加

3、對http的contentType進行規範
請求時指定contentType,要json資料,設定成json格式的type

REST的例子,實現1,3

1、需求:
查詢商品資訊,返回json資料
2、controller
定義方法,進行url映射使用REST風格的url,將查詢商品資訊的id傳入controller.

輸出json使用@ResponseBody將java對象輸出json

//查詢商品資訊,輸出json
@RequestMapping("/itemsView/{id}/{type}")
public @ResponseBody ItemsCustom itemsView(@PathVariable("id") Integer id,@PathVariable("type") String type)throws Exception{
  //調用service查詢商品資訊
  ItemsCustom itemsCustom = itemsService.query(id,type);  

  return itemsCustom;
}

 

@RequestMapping(value="/viewItems/{id}"):{xxx}預留位置,請求的URL可以是"/viewItems/1"或"/viewItems/2",通過在方法中使用@PathVariable擷取{xxx}中的xxx變數

@PathVariable用於將請求URL中的模板變數映射到功能處理方法的參數上。

 

springmvc的RESTful風格

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.