SpringMVC -- RESTful支持

一.RESTful簡單介紹

RESTful架構(gòu),就是目前最流行的一種互聯(lián)網(wǎng)軟件架構(gòu)。它結(jié)構(gòu)清晰、符合標準、易于理解、擴展方便,所以正得到越來越多網(wǎng)站的采用。
RESTful(即Representational State Transfer的縮寫)其實是一個開發(fā)理念,是對http的很好的詮釋。

  • 對url進行規(guī)范,寫RESTful格式的url
    • 非REST的url:http://...../queryItems.action?id=001&type=T01
    • REST的url風(fēng)格:http://..../items/001
  • http的方法規(guī)范
    • 不管是刪除、添加、更新,等等。使用url是一致的,如果進行刪除,需要設(shè)置http的方法為delete,其他同理。
    • 后臺controller方法:判斷http方法,如果是delete執(zhí)行刪除,如果是post執(zhí)行添加。
  • 對http的contentType規(guī)范
    • 請求時指定contentType,要json數(shù)據(jù),設(shè)置成json格式的type,要key/value 數(shù)據(jù)設(shè)置成key/value的格式type。

二.測試案例

  • 查詢用戶信息,輸出json
  • itemsView/{id}里邊的{id}表示占位符,通過@PathVariable獲取占位符中的參數(shù),
  • @PathVariable中名稱要和占位符一致,形參名無需和其一致
  • 如果占位符中的名稱和形參名一致,在@PathVariable可以不指定名稱

定義方法,進行url映射使用REST風(fēng)格的url,將查詢用戶信息的id傳入controller .

@RequestMapping("/itemsView/{id}")
    public @ResponseBody List<User> itemsView(@PathVariable("id") Integer id)throws Exception{
        //調(diào)用service查詢商品信息
        List<User> user = userService.findUserById(id);
        return user;
    }

@RequestMapping(value="/ itemsView/{id}"){×××}占位符,請求的URL可以是/viewItems/1121/viewItems/212121,通過在方法中使用@PathVariable獲取{×××}中的×××變量。
@PathVariable用于將請求URL中的模板變量映射到功能處理方法的參數(shù)上。如果@RequestMapping中表示為/itemsView/{id},id和形參稱一致,@PathVariable不用指定名稱。

三.對靜態(tài)資源的解析

  • 配置前端控制器的url-parttern中指定/,對靜態(tài)資源的解析會出現(xiàn)問題,報404錯誤。
  • 在springmvc.xml中添加靜態(tài)資源解析方法。
<!--對靜態(tài)資源的解析-->
    <mvc:resources mapping="/js/**" location="/js/"/>
    <mvc:resources mapping="/css/**" location="/css/"/>
    <mvc:resources mapping="/img/**" location="/img/"/>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容