作者:dmcm0005 | 来源:互联网 | 2023-09-15 11:18
请求的路径相同,通过改变请求的方式来对应增删改查
- GET:查
- POST:增
- PUT:修
- DELETE:删
原理
- 请求被HiddenHttpMethodFilter拦截
- 判断请求是否正常,是否是POST请求
- 获取**_method**的值,兼容PUT、DELETE、PATCH
- 使用装饰者模式requestWrapper重写getMethod方法,传入_method值
// application.properties// 开启对隐藏方法PUT和DELETE的支持
spring.mvc.hiddenmethod.filter.enabled=true
// html<form th:action&#61;"&#64;{/user/user}" method&#61;"post"><input type&#61;"hidden" name&#61;"_method" value&#61;"put">...
form>
&#64;RequestMapping("/user")
&#64;RestController
public class UserController {&#64;Autowiredprivate UserService userService;&#64;RequestMapping(value &#61; "/user", method &#61; RequestMethod.GET)List<User> findAllUsers() {return null;}&#64;RequestMapping(value &#61; "/user", method &#61; RequestMethod.POST)public String saveUser(User user) {return null;}&#64;RequestMapping(value &#61; "/user", method &#61; RequestMethod.PUT)public String updateUser(User user) {return null;}&#64;RequestMapping(value &#61; "/user", method &#61; RequestMethod.DELETE)public String deleteUser(Integer userId) {return null;}
}