简介
传统的SSM项目,如果想要编写基于restful风格的接口,需要在web.xml配置文件中配置HiddenHttpMethodFilter过滤器,将页面普通的put请求转换成delete、put请求。而spring boot则已经帮我们配置好了,故使用spring boot编写restful风格的接口的时候,只需要直接coding就可以啦!
<!-- SSM使用Rest风格的URI,需要配置该过滤器,将页面普通的Post请求转为指定的delete、put请求 -->
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
准备
本章代码的编写需要先集成mybatis,可以看下我的这篇博客【Spring Boot(三)整合MyBatis,Mybatis Generator】
编码
IUserService.java
public interface IUserService {
User get(Integer id);
String insert(User user);
String update(User user);
String delete(Integer id);
}
UserServiceImpl.java
@Service("iUserService")
public class UserServiceImpl implements IUserService {
@Autowired
private UserMapper userMapper;
@Override
public User get(Integer id) {
return userMapper.selectByPrimaryKey(id);
}
@Override
public String insert(User user) {
int resultCount = userMapper.insert(user);
if (resultCount > 0) {
return "新增用户成功";
}
return "新增用户失败";
}
@Override
public String update(User user) {
int resultCount = userMapper.updateByPrimaryKeySelective(user);
if (resultCount > 0) {
return "修改用户成功";
}
return "修改用户失败";
}
@Override
public String delete(Integer id) {
int resultCount = userMapper.deleteByPrimaryKey(id);
if (resultCount > 0) {
return "删除用户成功";
}
return "删除用户失败";
}
}
编写controller代码,增加用post请求,删除用delete请求,修改用put请求,查找用get请求
@RestController
public class UserController {
@Autowired
private IUserService iUserService;
@PostMapping("/add_user")
public String addUser (User user){
return iUserService.insert(user);
}
@DeleteMapping("/delete_user/{userId}")
public String deleteUser (@PathVariable("userId") Integer userId){
return iUserService.delete(userId);
}
@PutMapping("/update_user")
public String updateUser (User user){
return iUserService.update(user);
}
@GetMapping("/get_user/{userId}")
public User getUser(@PathVariable("userId") Integer userId){
return iUserService.get(userId);
}
}