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