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

简介

传统的SSM项目,如果想要编写基于restful风格的接口,需要在web.xml配置文件中配置HiddenHttpMethodFilter过滤器,将页面普通的put请求转换成delete、put请求。而spring boot则已经帮我们配置好了,故使用spring boot编写restful风格的接口的时候,只需要直接coding就可以啦!



    HiddenHttpMethodFilter
    org.springframework.web.filter.HiddenHttpMethodFilter

准备

本章代码的编写需要先集成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("/user")
    public String addUser (User user){
        return iUserService.insert(user);
    }

    @DeleteMapping("/user/{userId}")
    public String deleteUser (@PathVariable("userId") Integer userId){
        return iUserService.delete(userId);
    }

    @PutMapping("/user")
    public String updateUser (User user){
        return iUserService.update(user);
    }

    @GetMapping("/user/{userId}")
    public User getUser(@PathVariable("userId") Integer userId){
        return iUserService.get(userId);
    }

}

公众号

关注我的公众号,不定时更新工作中的踩坑经历及一些思考

你可能感兴趣的:(Spring Boot(五)基于restful风格的增删改查)