Spring Boot(五)基于restful风格的增删改查

简介

传统的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);
    }

}

 

猜你喜欢

转载自blog.csdn.net/qq_35787138/article/details/83857404