SpringMVC学习笔记---RESTful支持

RESTful支持

一、什么是RESTful支持

RESTful就是一个资源定位及资源操作的风格,不是标准也不是协议,只是一种风格,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

资源:互联网所有事物都可以被抽象为资源

资源操作:使用PSET、DELETE、PUT、GET,使用不同方法对资源进行操作。分别对应添加、删除、修改、查询。

传统方式操作资源:

  • http://localhost:8080/item/queryItem.action?id=1                查询,GET
  • http://localhost:8080/item/saveItem.action                          新增,POST
  • http://localhost:8080/item/updateItem.action                       更改,POST
  • http://localhost:8080/item/deleteItem.action?id=1               删除,GET或POST

使用RESTful操作资源

  • http://localhost:8080/item/1                                        查询,GET
  • http://localhost:8080/item                                           新增,POST
  • http://localhost:8080/item/                                          更新,PUT
  • http://localhost:8080/item/1                                        删除DELETE

二、RESTful风格的简单使用

需求:RESTful方式实现商品信息查询,返回json数据

1.从URL上获取参数

使用RESTful风格开发的接口,根据id查询商品、接口地址是:http://localhost:8080/item/1

我们需要从url上获取商品id,步骤如下:

(1).使用注解@RequestMapping("item/{id}") 声明请求的url,{xx}叫做占位符,请求的URL可以使‘"item/1"或"item/2"

(2).使用(@PathVariable()Integer id)获取url上的数据

	/**
	 * RESTful风格演示
	 * 
	 * @param ids
	 * @param model
	 * @return
	 */
	//RESTful风格url上的参数通过{}点位符绑定
	//点位符参数名与方法参数名不一致时,通过@PathVariable绑定
	@RequestMapping("/item/{id}")
	public String testRest(@PathVariable("id") Integer ids, Model model) {
		Item item = itemService.getItemById(ids);
		model.addAttribute("item", item);
		return "itemEdit";
	}

前端控制器:

	<servlet-mapping>
		<servlet-name>springmvc-web</servlet-name>
		<!-- <url-pattern>*.action</url-pattern> -->
		<url-pattern>/</url-pattern>
	</servlet-mapping>

这样我们的访问地址就成了:http://localhost:8080/项目名/item/1

如下:

如果@RequestMapping 中表示为"item/{id}",id和形参名称一致,@PathVariable 不用指定名称,如果不一致,例如"item/{ItemId}"则需要指定名称@PathVariable("itemId")。

注:1.@PathVariable 是获取url上数据的,@RequestParam是获取请求参数的(包括post表单提交)

       2.如果加上@RequestBody 注解,就不会走视图解析器,不会返回页面,目前返回的json数据。如果不加,就走视图解析器,返回页面。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值