表单rest风格支持使用HTTP请求方式动词来表示对资源的操作。
- 使用@RequestMapping时,我们用"/getUser"表示获取用户,"/deleteUser"表示删除用户,"/editUser"表示修改用户,"/saveUser"表示保存用户。当系统复杂时,每个实体都对应相应的增删查改HTTP请求。
- 现在我们可以用@RequestMapping(value = “/user”,method = RequestMethod.X)。 X可以是:GET-获取用户,DELETE-删除用户,PUT-修改用户,POST-保存用户。
- SpringBoot提供了注解:
如@GetMapping("/user")代替@RequestMapping(value = “/user”,method = RequestMethod.GET)
实例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>rest风格测试</title>
</head>
<body>
<h1>测试REST风格</h1>
<form action="/user" method="get">
<input value="REST-GET 提交" type="submit"/>
</form>
<form action="/user" method="post">
<input value="REST-POST 提交" type="submit"/>
</form>
<form action="/user" method="post">
<input name="_method" type="hidden" value="delete"/>
<input name="_m" type="hidden" value="delete"/>
<input value="REST-DELETE 提交" type="submit"/>
</form>
<form action="/user" method="post">
<input name="_method" type="hidden" value="PUT"/>
<input value="REST-PUT 提交" type="submit"/>
</form>
</body>
</html>
application.yaml文件:
spring:
mvc:
hiddenmethod:
filter:
enabled: true #开启页面表单的Rest功能
controller层:
@RestController
public class ReController {
// @RequestMapping(value = "/user",method = RequestMethod.GET)
@GetMapping("/user")
public String getUser(){
return "GET-张三";
}
// @RequestMapping(value = "/user",method = RequestMethod.POST)
@PostMapping("/user")
public String saveUser(){
return "POST-张三";
}
// @RequestMapping(value = "/user",method = RequestMethod.PUT)
@PutMapping("/user")
public String putUser(){
return "PUT-张三";
}
@DeleteMapping("/user")
// @RequestMapping(value = "/user",method = RequestMethod.DELETE)
public String deleteUser(){
return "DELETE-张三";
}
}