SpringBoot接受请求参数

2023-09-15 15:08:24

1.简单参数

1.1原始方法

说明:获取请求传来的name参数,age参数的值。

//简单方式
@RestController
public class RequestController {
    @GetMapping("/books")
    public String simpleParam(HttpServletRequest request) {
        //获取请求参数 name和age
        String name = request.getParameter("name");
        String ageStr = request.getParameter("age");
        int age = Integer.parseInt(ageStr);
        System.out.println(name+":"+age);
        return  "ok";
    }
}

 

1.2SpringBoot方法

说明:也是获取请求传来的name参数,age参数的值。

    @GetMapping("/books")
    public String simpleParam(String name, Integer age) {
        System.out.println(name + ":" + age);
        return "ok";
    }

注意:前端传的参数名与形参变量名相同,定义形参即可接受参数,并且sringboot会自动进行转化,参数不能一一对应就不会成功,也不会报错,只会将值变成空。

 1.3@RequestParam

说明:请求参数和方法形式参数不匹配,可以使用@RequestParam完成映射

    //    如果SpringBoot方式,请求参数和方法形式参数不匹配,可以使用@RequestParam完成映射
    @GetMapping("/login")
//    name随便写,请求参数名为"name"
//    如果不加required,那么默认值就是true,如果required为false,那么代表参数可以不传入
    public String simpleParam(@RequestParam(name="name",required = false) String username) {
        System.out.println("name:" + username);
        return "ok";
    }

2.实体参数

说明:简单实体对象:请求参数名与形参对象属性名相同,定义domain类即可;

复杂实体对象:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接受嵌套属性参数。(对象就是一个类)

2.1定义一个Use类

package com.forever.domain;

public class User {
    private String name;
    private String age;

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age='" + age + '\'' +
                '}';
    }

    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }
}

2.2控制类

说明:拿到封装请求(请求封装成类)

@RestController
public class RequestController {
    @RequestMapping("/man")
    public  String simpleParam(User user){
        System.out.println(user);
        return  "ok";
    }

更多推荐

剔除数据中的异常值(python实现)

目录一、3σ原则二、箱线图发现异常值三、boxcox数据变换一、3σ原则该准则仅局限于对正态或近似正态分布的样本数据处理,此外,当测量次数少的情形用准则剔除粗大误差是不够可靠的。异常值是指样本中的个别值,其数值明显偏离其余的观测值。异常值也称离群点,异常值的分析也称为离群点的分析。在进行机器学习过程中,需要对数据集进行

Python进阶学习----一闭三器

目录​编辑前言一.三器1.迭代器(Iterator)1.1什么是可迭代对象1.2什么是迭代器1.3案例演示:以下是一个简单的迭代器示例,遍历一个列表并打印每个元素:1.4迭代器总结2.生成器(Generator)3.装饰器(Decorator)二.一闭4.闭包(Closure)总结:前言Python是一种功能强大而灵活

C2基础设施威胁情报对抗策略

威胁情报是指在信息安全和安全防御领域,收集、分析和解释与潜在威胁相关的信息,以便预先发现并评估可能对组织资产造成损害的潜在威胁,是一种多维度、综合性的方法,其通过信息的收集、分析和研判,帮助组织了解可能对其安全构成威胁的因素。这种方法不仅仅着重于技术层面,还包括了社会、心理、政治等多个维度,以此更好地应对不断变化和复杂

软件项目管理【UML-类图】

前言UML图有很多种,但是并非必须掌握所有的UML图,才能完整系统分析和设计工作。一般说来,在UML图中,只要掌握类图、用例图、时序图的使用,就能完成大部分的工作。也就是说,掌握UML的20%,就能做80%的事情。对于程序员来说,最频繁使用的莫过于类图。目录前言一、什么是类图二、类图中类表示法三、类图中具体类、抽象、接

UML基础与应用之面向对象

UML(UnifiedModelingLanguage)是一种用于软件系统建模的标准化语言,它使用图形符号和文本来描述软件系统的结构、行为和交互。在面向对象编程中,UML被广泛应用于软件系统的设计和分析阶段。本文将总结UML基础与应用之面向对象的重要概念和常用图形符号。一、面向对象编程基础:类与对象:类是对具有相同属性

软件设计师-UML基础教程

场景针对UML1.5各种模型图的构成和功能进行说明。UML概述UML简介UML(UnifiedModelingLanguage)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。UML的定义包括UML语义和UML表示法两个部分。(1)UML语义:UML对

机器学习入门教学——损失函数(极大似然估计法)

1、前言我们在训练神经网络时,最常用到的方法就是梯度下降法。在了解梯度下降法前,我们需要了解什么是损失(代价)函数。所谓求的梯度,就是损失函数的梯度。如果不知道什么是梯度下降的,可以看一下这篇文章:机器学习入门教学——梯度下降、梯度上升_恣睢s的博客-CSDN博客损失函数其实就是神经网络里的标准和期望的标准相差多少的定

ESP32主板-MoonESP32

==产品简介==Moon-ESP32主板,一款以双核芯片ESP32-E为主芯片的主控板,支持WiFi和蓝牙双模通信,低功耗,板载LED指示灯,引出所有IO端口,并提供多个I2C端口、SPI端口、串行端口,方便连接,拓展性强。Moon-ESP32主板深度支持ArduinoIDE编程,并且支持Mind+图形化编程,Mixl

近世代数之集合与映射

近世代数之集合与映射近世代数为密码学基础,因此想要补充一下这方面的相关概念与性质,因此进行记录与分享。主要参考书籍为《近世代数基础》-张禾瑞集合:(有限或者无限个)固定事物的全体叫做一个集合。元素:组成一个集合的事物叫做这个集合的元素空集合:一个没有元素的集合叫做空集合子集:若集合B的每一个元素都属于集合A,则说,B为

计算机视觉实战项目(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别)

图像分类教程博客_传送门链接:链接在本教程中,您将学习如何使用迁移学习训练卷积神经网络以进行图像分类。您可以在cs231n上阅读有关迁移学习的更多信息。本文主要目的是教会你如何自己搭建分类模型,耐心看完,相信会有很大收获。废话不多说,直切主题…首先们要知道深度学习大都包含了下面几个方面:1.加载(处理)数据2.网络搭建

物联网:用python调入机器学习分析物联网数据入侵检测模块

要使用Python调用机器学习分析物联网数据入侵检测模块,您需要以下步骤:安装Python和相关的机器学习库,如scikit-learn、pandas、numpy等。您可以使用pip命令来安装这些库。准备输入数据。这些数据可以是来自物联网设备的原始数据,例如传感器读数、错误代码等。对输入数据进行特征工程。这涉及将原始数

热文推荐