Web 项目 tiger 之6 REST 风格 CRUD 说明

本文承接《Web 项目 tiger 之5 查询所有用户》

REST 风格

  • tiger 项目前期的登录与拦截器已经做完,现在开始做“增删改查”操作,不过这里使用“REST”风格来做
  • HTTP 协议是一个广泛应用的 Internet 协议,提供了8个不同的请求方法,常见的就是前4个:
  1. GET ------------向特定资源发出请求(请求指定页面信息,并返回实体主体)
  2. POST-----------向指定资源提交数据进行处理请求(提交表单、上传文件)
  3. PUT-------------向指定资源位置上上传其最新内容
  4. DELETE-------请求服务器删除指定的资源
  5. HEAD
  6. OPTIONS
  7. TRACE
  8. CONNECT
  • REST:即 Representational State Transfer。(资源)表现层状态转化,是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便, 所以正得到越来越多网站的采用。
  • REST风格就是通过Http请求方式的不同来标识不同的方法,即对于同一个请求路径,可以根据请求方式的不同来区分它们
操作 普通CRUD(根据uri区分)               REST风格CRUD(根据请求方式区分)        
查询 localhost:8080/tiger/findUsers localhost:8080/tiger/user-----get方式请求
添加 localhost:8080/tiger/saveUser localhost:8080/tiger/user-----post方式请求
修改 localhost:8080/tiger/updateUser localhost:8080/tiger/user-----pup方式请求
删除 localhost:8080/tiger/deleteUser localhost:8080/tiger/user-----delete方式请求
  • 其中tiger是应用上下文路径。也不能完全一概而论谁优谁劣,习惯就好!
    /**
     * 查询所有用户
     *
     * @param model :做数据返回
     * @return :返回到用户列表页面
     */
    @GetMapping("user")
    public String findUsers(Model model) {

         /** 往前端 Thymeleaf 模板引擎时,开头不要加 "/" ,因为它默认配置就是:
         * 前缀:spring.thymeleaf.prefix=classpath:/templates/
         * 后缀:spring.thymeleaf.suffix=.html 
         */
        return "userList";
    }

    /**
     * 根据id查询用户---修改之前,得先查询出待修改用户的数据
     *
     * @param id    :用户id
     * @param model :做数据返回
     * @return :跳转到修改用户的页面
     */
    @GetMapping("user/{id}")
    public String findUserById(@PathVariable(name = "id") Integer id, Model model) {
        
         /** 往前端 Thymeleaf 模板引擎时,开头不要加 "/" ,因为它默认配置就是:
         * 前缀:spring.thymeleaf.prefix=classpath:/templates/
         * 后缀:spring.thymeleaf.suffix=.html */
        return "updateUser";
    }

    /**
     * 添加用户
     *
     * @param employee :直接封装好的用户数据
     * @return :重定向到查询所有用户
     */
    @PostMapping("user")
    public String saveUser(Employee employee) {
         /** 往服务器重定向时 要以 "/" 开头表示应用根地址*/
        return "redirect:/user/userList";
    }

    /**
     * 修改用户
     *
     * @param employee :直接封装好的用户数据
     * @return :重定向到查询所有用户
     */
    @PutMapping("user")
    public String updateUser(Employee employee) {
         /** 往服务器重定向时 要以 "/" 开头表示应用根地址*/
        return "redirect:/user/userList";
    }

    /**
     * 删除用户
     *
     * @param id :用户id
     * @return :重定向到查询所有用户
     */
    @DeleteMapping("user/{id}")
    public String deleteUser(@PathVariable(name = "id") Integer id) {
        /** 往服务器重定向时 要以 "/" 开头表示应用根地址*/
        return "redirect:/user/userList";
    }

猜你喜欢

转载自blog.csdn.net/wangmx1993328/article/details/81290645