springmvc学习笔记(19)-RESTful支持
springmvc學習筆記(19)-RESTful支持
標簽: springmvc
- springmvc學習筆記19-RESTful支持
- 概念
- REST的樣例
- controller
- REST方法的前端控制器配置
- 對靜態資源的解析
本文介紹RESTful的概念,并通過一個小樣例展示怎樣編寫RESTful風格的controller和配置前端控制器,最后展示靜態資源的解析
概念
首先附上兩篇博客鏈接
- 理解RESTful架構 - 阮一峰的網絡日志
- RESTful API 設計指南- 阮一峰的網絡日志
RESTful架構。就是眼下最流行的一種互聯網軟件架構。它結構清晰、符合標準、易于理解、擴展方便。所以正得到越來越多站點的採用。
RESTful(即Representational State Transfer的縮寫)事實上是一個開發理念,是對http的非常好的詮釋。
1.對url進行規范,寫RESTful格式的url
- 非REST的url:http://...../queryItems.action?id=001&type=T01
- REST的url風格:http://..../items/001
特點:url簡潔,將參數通過url傳到服務端
2.http的方法規范
無論是刪除、加入、更新,等等。使用url是一致的,假設進行刪除,須要設置http的方法為delete,其它同理。
后臺controller方法:推斷http方法,假設是delete運行刪除。假設是post運行加入。
3.對http的contentType規范
請求時指定contentType。要json數據。設置成json格式的type。
REST的樣例
查詢商品信息。返回json數據。
controller
定義方法,進行url映射使用REST風格的url,將查詢商品信息的id傳入controller .
輸出json使用@ResponseBody將java對象輸出json。
//查詢商品信息,輸出json //itemsView/{id}里邊的{id}表示占位符。通過@PathVariable獲取占位符中的參數。 //@PathVariable中名稱要和占位符一致,形參名無需和其一致 //假設占位符中的名稱和形參名一致,在@PathVariable能夠不指定名稱 @RequestMapping("/itemsView/{id}") public @ResponseBody ItemsCustom itemsView(@PathVariable("id") Integer items_id)throws Exception{//調用service查詢商品信息ItemsCustom itemsCustom = itemsService.findItemsById(items_id);return itemsCustom;}@RequestMapping(value="/ itemsView/{id}"):{×××}占位符。請求的URL能夠是/viewItems/1或/viewItems/2,通過在方法中使用@PathVariable獲取{×××}中的×××變量。
@PathVariable用于將請求URL中的模板變量映射到功能處理方法的參數上。
假設@RequestMapping中表示為/itemsView/{id},id和形參名稱一致,@PathVariable不用指定名稱。
REST方法的前端控制器配置
<!-- springmvc前端控制器。rest配置 --> <servlet><servlet-name>springmvc_rest</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- contextConfigLocation配置springmvc載入的配置文件(配置處理器映射器、適配器等等) 假設不配置contextConfigLocation。默認載入的是/WEB-INF/servlet名稱-serlvet.xml(springmvc-servlet.xml) --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/springmvc.xml</param-value></init-param> </servlet><servlet-mapping><servlet-name>springmvc_rest</servlet-name><url-pattern>/</url-pattern> </servlet-mapping>訪問結果如圖:
對靜態資源的解析
配置前端控制器的url-parttern中指定/。對靜態資源的解析會出現故障,報404錯誤。
在springmvc.xml中加入靜態資源解析方法。
<!-- 靜態資源解析包含 :js、css、img、..--> <mvc:resources location="/js/" mapping="/js/**"/>這時訪問http://localhost:8080/ssm1/js/jquery-1.4.4.min.js,能夠在瀏覽器中看到js的內容
作者@brianway很多其它文章:個人站點 | CSDN | oschina
轉載于:https://www.cnblogs.com/lxjshuju/p/7259937.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的springmvc学习笔记(19)-RESTful支持的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Go指针
- 下一篇: C++primer 13.1.6节练习