• 3、RestFull风格【URL】


    RestFull设计风格

    一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    URL定义

    资源:互联网所有的事物都可以被抽象为资源 
    资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作。 
    分别对应 添加、 删除、修改、查询。 

    传统方式操作资源 

    http://127.0.0.1/item/queryUser.action?id=1   查询,GET 
    http://127.0.0.1/item/saveUser.action             新增,POST 
    http://127.0.0.1/item/updateUser.action          更新,POST 
    http://127.0.0.1/item/deleteUser.action?id=1  删除,GET或POST

    请求方式

    可以通过 GET、 POST、 PUT、 PATCH、 DELETE 等方式对服务端的资源进行操作。

    其中,GET 用于查询资源,POST 用于创建资源,PUT 用于更新服务端的资源的全部信息,PATCH 用于更新服务端的资源的部分信息,DELETE 用于删除服务端的资源。

    这里使用“用户”的案例进行回顾通过 GET、 POST、 PUT、 PATCH、 DELETE 等方式对服务端的资源进行操作。

    使用RestFull操作资源 

    【GET】 /users # 查询用户信息列表

    【GET】 /users/1001 # 查看某个用户信息

    【POST】 /users # 新建用户信息

    【PUT】 /users/1001 # 更新用户信息(全部字段)

    【PATCH】 /users/1001 # 更新用户信息(部分字段)

    【DELETE】 /users/1001 # 删除用户信息

    普通方式跟RestFull方式URL传参举例:

    获取两个数相加的之和,对于普通的URL请求与RestFull请求的区别:

    普通URL请求传参方式:

    1     @RequestMapping("/rest")
    2     public String RestFull(int a, int b, Model model) {
    3         int sum = a + b;
    4         model.addAttribute("msg", "结果为:" + sum);
    5         return "hello";
    6     }

     RestFull传参方式:

    @PathVarable:表示路径变量

    1     @RequestMapping("/rest/{a}/{b}")
    2     public String RestFull(@PathVariable int a, @PathVariable int b, Model model) {
    3         int sum = a + b;
    4         model.addAttribute("msg", "结果为:" + sum);
    5         return "hello";
    6     }

    通过指定的提交方式去实现:

    指定提交方式:(掌握)

      @RequestMapping(value = "/rest/{a}/{b}",method = RequestMethod.GET)

    等于上面的:

      @RequestMapping("/rest/{a}/{b}")

    或者也可以直接写成:

      @GetMapping("/rest/{a}/{b}")

    上面的三个注解的功能是一样的!

    跟GetMapper一样的还有其他类似注解:

        @GetMapping("/rest/{a}/{b}")
        @PostMapping("/rest/{a}/{b}")
        @DeleteMapping("/rest/{a}/{b}")
        @PutMapping("/rest/{a}/{b}")
        // ……


  • 相关阅读:
    ES6
    JavaScript小练习2
    JavaScript实现多重继承
    一个定高,一个高度自适应的布局
    实例教程:1小时学会Python(转)
    备份文件的python脚本(转)
    Python2.5/2.6实用教程:基础篇(转)
    Python 读写 Excel(转)
    python实用技巧 : Filtering os.walk(转)
    Python:文件操作技巧(File operation)(转)
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/14274925.html
Copyright © 2020-2023  润新知