• REST风格


    简介

    REST(Representational State Transfer),表现形式状态转换,访问网络资源的格式

    传统访问资源的格式:
    http://localhost/user/getById?id=1
    http://localhost/user/saveUser

    REST风格描述:
    http://localhost/user/1
    http://localhost/user

    REST风格的优点:
    1. 隐藏资源访问行为,无法通过地址的值对资源的何种操作
    2. 书写简化

    按照REST风格访问资源时使用行为动作区分对资源进行了何种操作
    http://localhost/users 查询全部用户信息 GET(查询)
    http://localhost/users/1 查询指定用户信息 GET(查询)
    http://localhost/users 添加用户信息 POST(新增、保存)
    http://localhost/users 修改用户信息 PUT(修改、更新)
    http://localhost/users/1 删除用户信息 DELETE(删除)

    上述行为是约定方式,约定不是规范,可以打破,所以称为REST风格,而不是REST规范
    描述模块的名称通常使用的是复数,也就是加s的格式描述,表示此类资源,而非单个资源,例如:users、books、accounts…

    RESTful案例

    @RestController
    @RequestMapping("/books")
    public class BookController {
        /**
         * @PathVariable 代表路径变量,从路径中取值
         * {}路径参数占位
         * @param id
         * @return
         */
    //    @RequestMapping(value = "/{id}",method = RequestMethod.DELETE)
        @DeleteMapping("/{id}")//简化上面的书写,下同
        public String delete(@PathVariable Integer id){
            System.out.println("book delete..."+id);
            return "{'module':book delete}";
        }
    
    //    @RequestMapping(value = "/{id}",method = RequestMethod.GET)
        @GetMapping("/{id}")
        public String getById(@PathVariable Integer id){
            System.out.println("book getById..."+id);
            return "{'module':book getById}";
        }
    
    //    @RequestMapping(method = RequestMethod.GET)
        @GetMapping
        public String getAll(){
            System.out.println("book getById...");
            return "{'module':book getAll}";
        }
    }
    

    @RequestBody用于接收JSON数据
    @RequestParam用于接收url地址参数或表单传参
    @PathVariable用于接收路径参数,使用{参数名称}描述路径参数


    一个参数使用PathVariable,若超过1个时,将数据封装成json数据传送

  • 相关阅读:
    Mysql忽略大小写问题
    RCE远程控制漏洞(下)
    AutoCAD Electrical 2022—项目特性
    图的dfs遍历
    Java中实现http请求的方式
    猿创征文|【React】组件化入门学习
    LeetCode简单题之解密消息
    增速冠军 | 超云AI与信创实践典范,引领IDC中国服务器市场
    微积分 - 对数函数与指数函数的导数
    备战金九银十,两份JAVA面试题2022最新整合版,祝你脱颖而出
  • 原文地址:https://blog.csdn.net/weixin_45804632/article/details/127106639