1. 什么是restful?

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

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

资源操作:使用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

http://127.0.0.1/item/deleteItem.action?id=1    删除,GET或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

  1. 需求

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

  1. 从URL上获取参数

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

http://127.0.0.1/item/1.action

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

  1. 使用注解@RequestMapping("item/{id}")声明请求的url

{xxx}叫做占位符,请求的URL可以是“item /1”或“item/2”

  1. 使用(@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.action?id=1

http://127.0.0.1/item/1.action

注意两个区别

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

springMVC与RESTful支持相关推荐

  1. springmvc教程--RESTful支持详解

    RESTful支持 1.1 需求 RESTful方式商品修改.商品查询. 1.2 添加DispatcherServlet的rest配置 <servlet><servlet-name& ...

  2. springmvc学习笔记(19)-RESTful支持

    springmvc学习笔记(19)-RESTful支持 标签: springmvc springmvc学习笔记19-RESTful支持 概念 REST的样例 controller REST方法的前端控 ...

  3. JAVAWEB开发之SpringMVC详解(二)——高级开发、数据回显、参数绑定集合、图片上传、json交互、validation校验、异常处理、RESTful支持、拦截器

    知识回顾 springmvc框架 用户请求url到DispatcherServlet前端控制器,相当于中央调度器,降低系统各组件之间的耦合度. DispatcherServlet前端控制器通过Hand ...

  4. JSON数据交互和RESTful支持

    JSON数据交互和RESTful支持 SpringMVC在数据绑定的过程中,需要对传递数据的格式和类型进行转换,它既可以转换String类型的数据,也你能够转换JSON等其他类型的数据. JSON数据 ...

  5. .Net转Java自学之路—SpringMVC框架篇八(RESTful支持)

    RESTful架构,REST即Representational State Transfer.表现层状态转换,就是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所以得到越来 ...

  6. restful post请求_猿蜕变9——一文搞定SpringMVC的RESTFul套路

    看过之前的蜕变系列文章,相信你对springMVC有了一定的认识.对springMVC的Interceptor拦截器,也有了一定的认识.今天我们来开启新讨论,讲一讲springMVC对那一种休闲风的支 ...

  7. SpringMVC中RestFul风格

    先说一下什么是RestFul风格,以一个链接为例子,如果我们访问一个网页,想要给a和b传参数,传统的方式是?a=1&b=2,而RestFul就是改变了传统的方式,用/a/1/2的形式,达到了简 ...

  8. spring 3.0 应用springmvc 构造RESTful URL 详细讲解

    在线springmvc_rest demo 由于下一版本的rapid-framwork需要集成spring RESTful URL,所以研究了一下怎么搭建. 并碰到了一下问题. springmvc 3 ...

  9. SpringMVC 13. RESTful CRUD

    RESTful CRUD 1 前置准备 1.0 配置文件 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" ...

最新文章

  1. mac os 10.14.5 update failure
  2. 2017-9-15Opencv 杂
  3. 多线程情况下创建连接池
  4. Java—多线程创建详解
  5. CEGUI添加自定义控件
  6. ubuntu无法定位软件包问题
  7. 散列技术之链地址法(基于无序链表)
  8. java 三子棋_java三子棋,高手帮忙
  9. DXperience Winforms12.2版中文使用手册
  10. android 描点抠图源码,一款功能强大的AI驱动一键安卓抠图软件,人物商品图章签名logo...
  11. Qt 设置背景图片
  12. centos下离线安装CM及其CDH5.14
  13. 5-35V输入升压8-100V各种升压解决方案 大功率300W
  14. 贝叶思咨询:中国手机游戏的创业机会
  15. 音乐独奏,心情忧伤。
  16. 刚入门学3D游戏美术设计最常见的几个问题
  17. FreeSWITCH开启录音功能
  18. 财务盈利、偿债能力指标
  19. 基于vue-cli3开发微信公众号网页——调取微信分享,微信支付接口
  20. 匹夫细说Unity3D(一)——移动平台动态读取外部文件全解析

热门文章

  1. 中兴3G模块 MU301
  2. SQL Server 2005中的CLR(2)
  3. springboot+dubbo
  4. BZOJ 2301 Problem b
  5. 疯狂Java学习笔记(72)-----------大话程序猿面试
  6. 百度搜索关键词纠错机制研究
  7. BZOJ4197: [Noi2015]寿司晚宴
  8. 重复数据插入unique列时,锁加在哪?
  9. sonar+Jenkins 构建代码质量自动化分析平台
  10. Linux下Nginx+多Tomcat负载均衡实现详解