SpringBoot接受请求参数

news2024/10/6 0:07:38

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";
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1012286.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

推荐国产低功耗20位分辨率模数转换器

RAMSUN提供的类比精密、低功耗、20位分辨率、兼容SPI的模数转换器(ADC)。采用QFN-10和MSOP-10两种封装形式,集成了低漂移电压基准,振荡器,可编程增益放大器(PGA),抗工频干扰滤波器和数字比较器等功能模块,以简化系统设…

微信公众号怎么添加抢福袋抽奖活动

在微信公众号中添加抢福袋抽奖活动,可以增加用户互动和粘性,同时也能为公众号带来更多的流量和曝光度。下面将从以下几个方面详细阐述在微信公众号中如何添加抢福袋抽奖活动。 一、活动策划 在策划活动之前,需要明确活动的目的和目标用户&am…

接口测试入门

1. 什么是接口测试 顾名思义,接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为HTTP,WebService,Dubbo,Thrift,Socket等类型,测试类型又主要…

ITR服务体系的常见问题和华为构建ITR的经验分享

大家好! 前两天有一个企业负责客户服务、售后部门的朋友和华研荟探讨,企业的服务体系如何搭建,以及如何像华为一样构建ITR流程 他的苦恼是,自己所带领的部门叫做客户服务中心,但是在公司内部不受重视,公司…

如何将文件或者图片压缩成zip文件压缩包

代码&#xff1a; RestController RequestMapping("/download") public class DownloadController {GetMapping("/studentWork")public ResponseEntity<StreamingResponseBody> downloadStudentWork() {HttpHeaders headers new HttpHeaders();hea…

仔仔细细的给您讲,如何建立数据仓库

数据仓库的定位 在整个数据价值生产链路中&#xff0c;数据仓库的主要作用就是中心化分发&#xff0c;将原始数据与数据价值挖掘活动隔离。所有的原始数据都会进入数据仓库&#xff0c;再由数据仓库统一分发给下游的数据使用者。这样的结构实现了原始数据与数据分析工作的解耦…

Linux 企业级夜莺监控分析工具远程访问

目录 前言 1. Linux 部署Nightingale 2. 本地访问测试 3. Linux 安装cpolar 4. 配置Nightingale公网访问地址 5. 公网远程访问Nightingale管理界面 6. 固定Nightingale公网地址 前言 夜莺监控是一款开源云原生观测分析工具&#xff0c;采用 All-in-One 的设计理念&…

xml配置文件密码特殊字符处理

错误姿势&#xff1a; 正确姿势&#xff1a;采取转义符的方式 常用转义符&#xff1a;

位图和布隆过滤器的实现

前言 位图和布隆过滤器是基于哈希思想实现的数据结构&#xff0c;他们在很多的方面都有应用&#xff0c;比如&#xff1a;操作系统中的磁盘标记&#xff0c;快速查找某个数据是否在集合中。布隆过滤器可以高效的进行插入和查询&#xff0c;可以告诉你“某样东西一定不存在或者可…

Sui Gaming AMA精彩内容集锦

9月8日&#xff0c;Sui基金会在Twitter Space举办了一场「游戏」主题的AMA&#xff0c;会议由基金会市场团队的Rainier主持&#xff0c;邀请了Coert Voorhees、Anthony Palma和Bill Allred三位嘉宾分享观点。Coert Voorhees是Arden的联合创始人兼首席执行官&#xff0c;其产品为…

微信小程序——使用 Vant 组件实现 Popup 弹出层(各位置弹出详细代码分享)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

【视觉SLAM入门】7.3.后端优化 基于KF/EKF和基于BA图优化的后端,推导及举例分析

"时间倾诉我的故事" 1. 理论推导2. 主流解法3. 用EKF估计状态3.1. 基于EKF代表解法的感悟 4. 用BA法估计状态4.1 构建最小二乘问题4.2 求解BA推导4.3 H的稀疏结构4.4 根据H稀疏性求解4.5 鲁棒核函数4.6 编程注意 5.总结 引入&#xff1a; 前端里程计能给出一个短时间…

Rn视图生成图片并保存到相册

该功能依赖两个组件 完整代码 yarn add react-native-view-shot // 视图生成图片 yarn add expo-media-library // 保存图片import { useState, useRef } from react import ViewShot from "react-native-view-shot" import { View, Text, Button, Image, StyleSh…

【程序猿包邮送书:第五期】考研408书籍数学书籍大放送,多本书籍任君挑选

&#x1f339;欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 爱书不爱输的程序猿&#xff1a;送书第五期 &#x1f6a9;&#x1f6a9;&#x1f6a9;点击直达福利前言01 《数据结构与算法分析》书籍介绍作者简介目录 02 《计算机网…

【docker-compose 跨节点部署 kafka-kraft SASL用户加密集群】全网最新!

一、概述 文本主要讲解使用Docker-compose在三个节点上部署Kafka3.5.1(现阶段最新版本)-kraft模式&#xff0c;加密使用了用户名密码加密的SASL_PLAINTEXTPLAIN方式。SSL加密在我的docker-compose.yml文件基础上微调一下就好。所有的配置都通过环境变量注入&#xff0c;仅将加…

超详细springcloud sentinel教程~

基础 介绍 Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。 基本概念 资源 资源是 Sent…

灰度变换原理//test later

灰度变换原理 图像灰度变换变换原理&#xff1a;通过变换函数T将原图像像素灰度值r映射为灰度值s&#xff1a; 2、灰度反转 2.1原理 灰度反转&#xff1a;将图像亮暗对调&#xff0c;可以增强图像中暗色区域细节 &#xfffd;&#xfffd;(&#xfffd;)&#xfffd;−1−…

无版权素材集合

一、无版权视频素材 1.pixabay 网址: https://pixabay.com/zh/videos/ 特点:没错&#xff0c;还是这个网站&#xff0c;除了图片&#xff0c;还有大量免费正版高清无水印视频素材&#xff0c;无需注册即可直接下载&#xff0c;支文搜索。你可以在任何地方使用 pixabay 的免费…

深度干货:制造进销存国内现状如何?2023年五大制造进销存最新盘点!

制造进销存是什么&#xff1f;制造进销存的发展如何&#xff1f;制造进销存的优势在哪里&#xff1f;制造进销存都能为企业提供什么&#xff1f;本文将带大家深入浅出的聊聊制造进销存&#xff0c;全面剖析制造进销存的前世今生&#xff0c;并且为大家提供2023年十大制造进销存…

WebGL 视图矩阵、模型视图矩阵

目录 立方体由三角形构成 视点和视线 视点、观察目标点和上方向 视点&#xff1a; 观察目标点&#xff1a; 上方向&#xff1a; 在WebGL中&#xff0c;观察者的默认状态应该是这样的&#xff1a; 视图矩阵程序&#xff08;LookAtTriangles.js&#xff09; 实际上&…