SpringMVC -- RESTful支持

一.RESTful简单介绍

RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。
RESTful(即Representational State Transfer的缩写)其实是一个开发理念,是对http的很好的诠释。

  • 对url进行规范,写RESTful格式的url
    • 非REST的url:http://...../queryItems.action?id=001&type=T01
    • REST的url风格:http://..../items/001
  • http的方法规范
    • 不管是删除、添加、更新,等等。使用url是一致的,如果进行删除,需要设置http的方法为delete,其他同理。
    • 后台controller方法:判断http方法,如果是delete执行删除,如果是post执行添加。
  • 对http的contentType规范
    • 请求时指定contentType,要json数据,设置成json格式的type,要key/value 数据设置成key/value的格式type。

二.测试案例

  • 查询用户信息,输出json
  • itemsView/{id}里边的{id}表示占位符,通过@PathVariable获取占位符中的参数,
  • @PathVariable中名称要和占位符一致,形参名无需和其一致
  • 如果占位符中的名称和形参名一致,在@PathVariable可以不指定名称

定义方法,进行url映射使用REST风格的url,将查询用户信息的id传入controller .

@RequestMapping("/itemsView/{id}")
    public @ResponseBody List<User> itemsView(@PathVariable("id") Integer id)throws Exception{
        //调用service查询商品信息
        List<User> user = userService.findUserById(id);
        return user;
    }

@RequestMapping(value="/ itemsView/{id}"){×××}占位符,请求的URL可以是/viewItems/1121/viewItems/212121,通过在方法中使用@PathVariable获取{×××}中的×××变量。
@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。如果@RequestMapping中表示为/itemsView/{id},id和形参称一致,@PathVariable不用指定名称。

三.对静态资源的解析

  • 配置前端控制器的url-parttern中指定/,对静态资源的解析会出现问题,报404错误。
  • 在springmvc.xml中添加静态资源解析方法。
<!--对静态资源的解析-->
    <mvc:resources mapping="/js/**" location="/js/"/>
    <mvc:resources mapping="/css/**" location="/css/"/>
    <mvc:resources mapping="/img/**" location="/img/"/>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,180评论 19 139
  • 1.什么是RESTful其实是一种开发的理念,是对http的很好的诠释。更详细的说明请参考http://www.r...
    yjaal阅读 462评论 0 0
  • Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servl...
    alexpdh阅读 2,685评论 0 3
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,993评论 6 342
  • 日期:20170407 时间:05:40-06:00 关键词:阅读、思维、学习 内容&复盘: 自从开始采用速读法来...
    洁_寞碎阅读 235评论 0 0