REST风格
资源定位及资源操作的风格,不是协议,可以遵循,也可以不遵循
REST风格请求
REST 即 Representational State Transfer (资源)表现层状态转化,用URL定位资源,用HTTP描述操作,是目前最流行的一种互联网软件架构,它结构清晰、符合标准、易于理解、扩展方便,所以真得到越来越多网站的采用,使用POST, DELETE, PUT, GET 分别对应 CRUD,Spring3.0 开始支持 REST 风格的请求
传统的操作资源
资源路径 | 请求方式 |
http://localhost:8080/get.action?id=10 | 查询 GET |
http://localhost:8080/add.action | 新增 POST |
http://localhost:8080/update.action | 修改 POST |
http://localhost:8080/delete.action?id=10 | 删除 POST |
RestFul操作资源
资源路径 | 请求方式 |
http://localhost:8080/goods/1 | 查询 GET |
http://localhost:8080/goods | 新增 POST |
http://localhost:8080/goods | 更新 PUT |
http://localhost:8080/goods/1 | 删除 DELETE |
使用@PathVariable接收RestFul风格参数
发送PUT与DELETE请求
默认情况下 Form 表单是不支持 PUT 请求和 DELETE 请求的,spring3.0 添加了一个过滤器HiddenHttpMethodFilter,可以将 POST 请求转换为 PUT 或 DELETE 请求
配置过滤器
发送请求
服务器接收处理
注意事项
从 tomcat8 开始,如果直接返回 jsp 页面,会报 405 错误 JSPs only permit GET POST or HEAD,使用重定向的形式跳转到对应 jsp,或者是直接把对应 jsp 的 isErrorPage=”true”
过滤器HiddenHttpMethodFilter源码分析