springboot中Rest
第一步
编写对应controller
@RequestMapping(value = "/student",method = RequestMethod.GET)
public String getUser(){
return "GET-Get";
}
@RequestMapping(value = "/student",method = RequestMethod.DELETE)
public String deleteUser(){
return "DELETE-DELETE";
}
@RequestMapping(value = "/student",method = RequestMethod.PUT)
public String updateUser(){
return "update-PUT";
}
@RequestMapping(value = "/student",method = RequestMethod.POST)
public String saveUser(){
return "save-Get";
}
同一对象的操作,均使用
value = “/student”
区别每个方法的关键是 method=******
第二步
在启动类中配置 filter
@Bean
@ConditionalOnMissingBean(HiddenHttpMethodFilter.class)
@ConditionalOnProperty(prefix = "spring.mvc.hiddenmethod.filter", name = "enabled", matchIfMissing = false)
public OrderedHiddenHttpMethodFilter hiddenHttpMethodFilter() {
return new OrderedHiddenHttpMethodFilter();
}
注意 我们的启动类也是一个配置类,我们可以直接编写@Bean ,但spring boot中不允许配置
我们修改yaml文件
spring:
main:
allow-bean-definition-overriding: true
这样就可以了
另外我们还要配置 此filter能使用
spring:
mvc:
hiddenmethod:
filter:
enabled: true
第三步
使用 常见增删改查
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>学生</title>
</head>
<body>
<h1>get</h1>
<form action="/student" method="post">
<!-- 定义一个隐藏域 非常重要-->
<input type="hidden" name="_method" value="get" >
<input type="submit">
</form>
<h1>delete</h1>
<form action="/student" method="post">
<!-- 定义一个隐藏域 非常重要-->
<input type="hidden" name="_method" value="delete" />
<input type="submit">
</form>
<h1>update</h1>
<form action="/student" method="post">
<!-- 定义一个隐藏域 非常重要-->
<input type="hidden" name="_method" value="put" />
<input type="submit">
</form>
<h1>save</h1>
<form action="/student" method="post">
<!-- 定义一个隐藏域 非常重要-->
<input type="hidden" name="_method" value="post" />
<input type="submit">
</form>
</body>
</html>
注意:1. 定义隐藏域十分重要 2.关键点是value的值 它决定你调用的方法3.name的值固定不变
到此就可以了
在springboot 因为发送请求的原因,所以这种风格不经常用,知道就行
在前后端的项目中,Rest风格才被大量使用