55SpringMVC - RESTful支持

简介: 55SpringMVC - RESTful支持

什么是RESTful

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

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

资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。

分别对应 添加、 删除、修改、查询。

传统方式操作资源

http://127.0.0.1/item/queryItem.action?id=1 查询,GET
http://127.0.0.1/item/saveItem.action         新增,POST
http://127.0.0.1/item/updateItem.action       更新,POST

使用RESTful操作资源

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

从URL上获取参数

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

使用RESTful风格开发的接口,根据id查询商品,接口地址是:

http://127.0.0.1/item/1

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

  1. 使用注解 @RequestMapping(“item/{id}”) 声明请求的url
    {xxx}叫做占位符,请求的URL可以是“item /1”或“item/2”
  2. 使用 (@PathVariable() Integer id) 获取url上的数据
/**
 * 使用RESTful风格开发接口,实现根据id查询商品
 * 
 * @param id
 * @return
 */
@RequestMapping("item/{id}")
@ResponseBody
public Item queryItemById(@PathVariable() Integer id) {
  Item item = this.itemService.queryItemById(id);
  return item;
}

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

http://127.0.0.1/item/123?id=1

注意两个区别:

  1. @PathVariable是获取url上数据的。@RequestParam获取请求参数的(包括post表单提交)
  2. 如果加上@ResponseBody注解,就不会走视图解析器,不会返回页面,目前返回的json数据。如果不加,就走视图解析器,返回页面


目录
相关文章
|
1月前
|
XML 安全 数据库
RESTful架构
什么是RESTful架构
|
12天前
|
JSON API 数据格式
创建 RESTful
创建 RESTful
8 4
|
1月前
|
XML JSON Java
什么是RESTful
什么是RESTful
|
1月前
|
XML JSON Apache
理解RESTful架构
理解RESTful架构
|
8月前
|
XML 存储 前端开发
Restful的详细介绍~
Restful的详细介绍~
|
XML JSON API
Restfule
+ 无状态 + 面向资源,即访问地址时使用的是名词形式 + 使用HTTP动词
|
JSON 缓存 API
6.2 Restful
讲解HTTP开发中Restful风格
|
Java 网络架构
RESTful的详解
RESTful 也称为REST(英文:Representational State Transfer)即表现层状态传递,它是一种软件架构风格或设计风格,而不是一个标准。
159 0
RESTful的详解
|
XML JSON 前端开发
RESTful 架构到底是什么?
RESTful 架构到底是什么?
174 0
RESTful 架构到底是什么?
|
SQL JSON API
Restful
Restful
153 0