前言
刚写博客没多久,好像才两三天,标题都开始随意了,毕竟写给自己看嘛。
正文
之前接触过Restful风格的CRUD,今天现总结下什么吧。
其实主要就是通过URI中,/资源名称/资源标识 HTTP请求方式区分对资源CRUD操作。
/手动滑稽 那么delete和put请求怎么搞?
以修改删除功能为例。
修改删除都需要两个重要的点,一是put或delete请求,二是id的获取和传入。
实现put或delete请求
主要用到HiddenHttpMethodFilter类。
public class HiddenHttpMethodFilter extends OncePerRequestFilter {
private static final List<String> ALLOWED_METHODS =
Collections.unmodifiableList(Arrays.asList(HttpMethod.PUT.name(),
HttpMethod.DELETE.name(), HttpMethod.PATCH.name()));
/** Default method parameter: {@code _method}. */
public static final String DEFAULT_METHOD_PARAM = "_method";
private String methodParam = DEFAULT_METHOD_PARAM;
主要步骤如下:
- 在springmvc中配置HiddenHttpMethodFilter(springboot已经配置好了)
- 在页面创建一个post的表单
<form th:action="@{/emp}" method="post">
- 创建一个input,并name="_method",值就是我们请求的方法
<input type="hidden" name="_method" value="put" th:if="${emp!=null}">
<input type="hidden" name="_method" value="delete" th:if="${emp!=null}">
id的获取和传入
再使用一个hidden的input
<input type="hidden" name="id" th:value="${emp.id}" th:if="${emp!=null}">
参考资料
尚硅谷-Spring Boot核心技术-笔记