REST(Representational State Transfer,表述性状态转移)是一种软件风格。所谓的REST风格可以简单理解为:使用url表示资源时,每个资源都用一个独一无二的url来表示,并使用http方法表示操作,即准确描述服务器对资源的处理动作(get、post、put、delete),实现资源的增删改差。举例如下
/user/view/12 /userview.html?id=12
/user/delete/12 /userdelete.html?id=12
/user/modify/12 /usermodify.html?id=12
我们可以发现REST风格的url中最明显的就是参数不再使用“ ?”传递。这种风格可读性好,项目结构清晰,springmvc也提供对这种风格的支持。
由于url参数有时会传递中文,那么就会出现中文乱码问题,所以要根据实际情况灵活处理,混搭使用。
@RequestMapping(value = "/view/{id}", method = RequestMethod.GET) public String view(@PathVariable String id, Model model){ User user = userService.getUserById(id); model.addAttribute(user); return "userview"; }
@PathVariable在spring-web依赖下,所在包如下
对于REST风格url中的参数接受,springmvc提供了@PathVariable注解,可以将url中的{xxx}占位符参数绑定到控制器处理方法的入参中。