• RESTFUL风格


    什么是RESTFUL风格?

    1、比如说我们从前学习过的URL传参:localhost:8080/method?add=1&add=2&add=3&add=4

    是使用&符号将要传的参数连接

    2、而RESTFUL风格是以斜线风格的:localhost:8080/method/add/1/2/3/4

    是使用将要请求的参数连接,RESTFUL风格基本上所有的网站都在用

    RESTFUL就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更有益于实现缓存等机制

    功能

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

    传统方式操作资源:通过不同参数实现不同的效果!方法单一,POST和GET

    http://127.0.0.1/item/queryItem.action?id=1 查询,GET

    http://127.0.0.1/item/saveItem.action 新增,POST

    http://127.0.0.1/item/updateItem.action 更新,POST

    http://127.0.0.1/item/deleteItem.action 删除,GET或POST

    使用RESTFUL风格操作资源:可以通过不同的请求方式完成不同的效果!如下:请求地址一样,但是功能可以不同!

    http://127.0.0.1/item/1 查询,GET

    http://127.0.0.1/item 新增,POST

    http://127.0.0.1/item 更新,PUT

    http://127.0.0.1/item/1删除,DELETE

    实现

    1.输入网址:http://localhost:8080/add/1/10

     可以成功访问输出1和10的和11

    2.如果把Controller中b的类型改为String类型,res也改为String类型

     输入网址:http://localhost:8080/add/1/*qinjiang*

     可以得到res字符串:1*qinjiang*

    那么是从相同的网址是如何区分不同的操作呢?

    如下图RequestMapping类:

    而如上图鼠标定位的RequestMethod,我们可以在Controller定义GET方法

    value可以替换成path,是一样的。

    输入网址:http://localhost:8080/add/1/2

    输出:结果为12

    方法级别的注解变体有以下几个,组合注解

    @GetMapping

    @PostMapping

    @PutMapping

    @DeleteMapping

    @PatchMapping

    使用RESTFUL风格有什么好处?

    简洁、高效、安全。

    • 使路径变得更加简洁。
    • 获得参数更加方便,框架会自动进行类型转换。
    • 通过路径变量的类型可以约束访问参数,如果类型不一样,则访问不到对应的请求方法,如这里访问的路径是/commit/1/a,则路径与方法不匹配。而不会是参数转换失败。
  • 相关阅读:
    Codeforces Round #384 (Div. 2)
    Codeforces Round #383 (Div. 2)
    bzoj-4514(网络流)
    bzoj-4518 4518: [Sdoi2016]征途(斜率优化dp)
    bzoj-1096 1096: [ZJOI2007]仓库建设(斜率优化dp)
    hdu-5988 Coding Contest(费用流)
    hdu-5992 Finding Hotels(kd-tree)
    用链表实现杭电1276士兵队列训练问题
    循环链表
    图书管理系统
  • 原文地址:https://www.cnblogs.com/yangf428/p/12686886.html
Copyright © 2020-2023  润新知