springmvc - RESTful
springmvc - RESTful
中柠檬 发表于1年前
springmvc - RESTful
  • 发表于 1年前
  • 阅读 14
  • 收藏 0
  • 点赞 0
  • 评论 0

一、概念

>Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。比如: http://api.qc.com/v1/newsfeed: 获取某人的新鲜; http://api.qc.com/v1/friends: 获取某人的好友列表; http://api.qc.com/v1/profile: 获取某人的详细信息;

>用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转: GET 用来获取资源, POST 用来新建资源(也可以用于更新资源), PUT 用来更新资源, DELETE 用来删除资源。

  1. 即对url进行规范,
    非RESTful格式:http://.../queryItems.action?id=001&type=T001
    RESTful 格式:http://.../items/001
    特点:将参数通过url传递到服务端。

  2. 对http方法进行规范
    使用get获取资源、post新建资源、put来更新资源、delete来删除资源

  3. 对http的contentType规范
    请求时指定 contentType ,需要json数据,设置成json的type。。

二、方法定义

需求:查询商品信息,返回json数据。
方法:使用RESTful风格的url,将查询商品信息的id传入controller。输出json使用@ResponseBody 将java对象输出json。

三、使用url模板映射来传递参数

使用**@RequestMapping("/itemsView/{id}")@PathVariable("id") Integer id **来传递参数信息。

@RequestMapping("/itemsView/{id}")
public @ResponseBody ItemsCustom itemsView(@PathVariable("id") Integer id) throws Exception {
    ItemsCustom itemsCustom = itemsService.findItemsById(id);
    return itemsCustom;
}

四、对静态资源进行解析

使用RESTful风格的url方式需要对静态资源进行解析:
配置前端控制器的 url-partten 中指定 "/" ,对静态资源的解析则出现问题。
在springmvc.xml中添加静态资源的解析方法。

<!-- 静态资源解析:包括js、css。img... -->
<mvc:resources mapping="/js/**" location="/js/"/>
<mvc:resources mapping="/img/**" location="/img/"/>

  • 点赞
  • 收藏
  • 分享
粉丝 7
博文 177
码字总数 83817