• SpringBoot SpringBoot 基础篇 1 快速上手SpringBoot 2 知识加油站 - REST 开发 2.2 入门案例


    SpringBoot

    【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】

    SpringBoot 基础篇

    2 知识加油站 - REST 开发

    2.2 入门案例
    2.2.1 案例分析

    先来看看我们以前用SpringMVC 写的rest

    package com.dingjiaxiong.controller;
    
    import com.dingjiaxiong.domain.User;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.*;
    
    /**
     * ClassName: UserController
     * date: 2022/9/18 19:00
     *
     * @author DingJiaxiong
     */
    
    @Controller
    public class UserController {
    
        //设置当前请求方法为POST,表示REST风格中的添加操作
        @RequestMapping(value = "/users",method = RequestMethod.POST)
        @ResponseBody
        public String save(){
            System.out.println("user save...");
            return "{'module':'user save'}";
        }
    
    //    设置当前请求方法为DELETE,表示REST风格中的删除操作
        @RequestMapping(value = "/users/{id}/{name}",method = RequestMethod.DELETE)
        @ResponseBody
        public String delete(@PathVariable Integer id , @PathVariable String name){
            System.out.println("user delete..." + id + "," + name);
            return  "{'module':'user delete'}";
        }
    
    //    设置当前请求方法为PUT,表示REST风格中的修改操作
        @RequestMapping(value = "/users", method = RequestMethod.PUT)
        @ResponseBody
        public String update(@RequestBody User user){
            System.out.println("user update..." + user);
            return  "{'module':'user update'}";
        }
    
    //    设置当前请求方法为GET,表示REST风格中的查询操作
        @RequestMapping(value = "/users/{id}",method = RequestMethod.GET)
        @ResponseBody
        public String getById(@PathVariable Integer id){
            System.out.println("user getById..." + id);
            return "{'module':'user getById'}";
        }
    
        //设置当前请求方法为GET,表示REST风格中的查询操作
        @RequestMapping(value = "/users",method = RequestMethod.GET)
        @ResponseBody
        public String getAll(){
            System.out.println("user getAll");
            return "{'module':'user getAll'}";
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56

    在这里插入图片描述

    在这里插入图片描述

    启动服务器:

    在这里插入图片描述

    接口测试

    在这里插入图片描述

    在这里插入图片描述

    测试user 接口

    在这里插入图片描述

    如果是GET 请求这个接口

    在这里插入图片描述

    2.2.2 实现步骤

    ① 设定http 请求动作【动词】

    在这里插入图片描述

    ② 设定请求参数【路径变量】

    在这里插入图片描述

    【知识点:@RequestMapping】

    • 名称:@RequestMapping

    • 类型:方法注解

    • 位置:SpringMVC 控制器方法定义上方

    • 作用:设置当前控制器方法请求访问路径

    • 范例

      @RequestMapping(value = "/users",method = RequestMethod.POST)
      @ResponseBody
      public String save(){
          System.out.println("user save...");
          return "{'module':'user save'}";
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
    • 属性:

      • value(默认):请求访问路径
      • method:http 请求动作,标准动作【GET / POST / PUT / DELETE】

    【知识点:@PathVariable】

    • 名称:@PathVariable

    • 类型:形参注解

    • 位置:SpringMVC 控制器方法形参定义前面

    • 作用:绑定路径参数与处理器方法形参间的关系,要求路径参数名与形参名一一对应

    • 范例:

      @RequestMapping(value = "/users/{id}/{name}",method = RequestMethod.DELETE)
      @ResponseBody
      public String delete(@PathVariable Integer id , @PathVariable String name){
          System.out.println("user delete..." + id + "," + name);
          return  "{'module':'user delete'}";
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

    【知识点:@RequestBody @RequestParam @PathVariable】

    • 区别
      • @RequestParam用于接收url地址传参或表单传参
      • @RequestBody用于接收json数据
      • @PathVariable用于接收路径参数,使用{参数名称}描述路径参数
    • 应用
      • 后期开发中,发送请求参数超过1个时,以json格式为主,@RequestBody应用较广
      • 如果发送非json格式数据,选用@RequestParam接收请求参数
      • 采用RESTful进行开发,当参数数量较少时,例如1个,可以采用@PathVariable接收请求路径变量,通常用于传递id值
    2.2.3 小结
    • 入门案例
    • 请求方法设定
    • 请求路径参数
  • 相关阅读:
    hadoop安装网址
    html5里引用vue.js,实现自定义组件,子父组件相互传参
    Linux学习系列:在CentOS 7上切换WiFi节点
    python基于django学生成绩管理系统o8mkp
    公交查询系统
    C++11智能指针unique_ptr剖析
    ApkScan-PKID 查壳工具下载使用以及相关技术介绍
    机器学习笔记 - 了解常见开源文本识别数据集以及了解如何创建用于文本识别的合成数据
    合宙Air724UG LuatOS-Air lvgl7-lvgl(矢量字体)
    FairLearn 中的 API (一)
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/127762410