当前位置: 首页 > news >正文

[JavaWeb]——获取请求参数的方式(全面!!!)

🌈键盘敲烂,年薪30万🌈

 

目录

1.普通类型

1.1原始方式(了解)

1.2springboot方式(推荐)

2.实体类型

2.1简单实体类型

2.2实体类型里还有实体类型(内部类)

3.数组或集合类型

3.1数组

3.2集合

4.🔥JSON格式 常用

5.日期类型

6.路径参数

🍓总结🍓


前言:在Java后端开发中,第一步就是获取前端传过来的请求参数,请求参数拿不到(不会接收>_<)压根无法进行后面的开发。

 

1.普通类型

普通类型的GET或POST请求 后端接受请求参数的方式都一样,这里以GET为例

  • 1.1原始方式(了解)
  • 注意:request.getParameter("name") 这里的name要与请求参数名一致

  • 1.2springboot方式(推荐)
  • 注意:参数名还是要与请求参数名一致,顺序可以不一一对应

小细节:

如果方法中参数名与请求参数名不一致呢,服务器不会报错,而是会将该参数设置为null,可以通过@RequestParam这个注解来指定新的参数名。

@RequestParam

@RequestParam中的required属性默认为true,代表该请求参数必须传递,如果不传递将报错。 如果该参数是可选的,可以将required属性设置为false

2.实体类型

  • 2.1简单实体类型

例如:User对象封装了name 和 age属性

注意:实体类要在pojo包中定义,并且实体的属性名要与请求参数名一致

  • 2.2实体类型里还有实体类型(内部类)

例如:User对象封装了name age 和 adress属性,adress属性为另一个实体对象

注意:接受方式不变,只不过在User里在定义一个adress对象

3.数组或集合类型

  • 3.1数组
  • 形参的数组名与请求参数名保持一致,即可接收

  • 3.2集合
  • 集合名称与参数名称一致,并加入@RequestParam注解,表示用集合接收

4.🔥JSON格式 常用

注意:JSON格式的数据只能在请求体中,故只能用POST请求方式传递JSON格式的数据

  • 接收方式
  • 在pojo中定义一个类用来接收JSON格式的数据
  • 加入@RequestBody注解

5.日期类型

  • 使用DateTimeFormat注解指定日期格式
  • 形参名称与路径参数中名称保持一致

6.路径参数

 路径参数含义:请求参数成为了路径(url)中的一部分

  • 接收方式
  • 使用{……}表示路径中的参数 使用@PathVariable注解接收
  • 名称保持一致

🍓总结🍓

相关文章:

  • 基于tpshop开发多商户源码支持手机端+商家+门店 +分销+淘宝数据导入+APP+可视化编辑
  • Centos7下生成https自签名证书
  • 【Linux】安装使用Nginx负载均衡,并且部署前端项目
  • 常用编程语言排行与应用场景汇总(2023.10)
  • NOIP2023模拟8联测29 C. 蛋糕
  • 【Django】项目模型
  • 第四章 应用SysML基本特性集的汽车示例 P2(断更)|系统建模语言SysML实用指南学习
  • MATLAB算法实战应用案例精讲-【图像处理】机器视觉(基础篇)(八)
  • CSS3中的字体和文本样式
  • FreeRTOS_信号量之互斥信号量
  • 【SA8295P 源码分析 (一)】114 - 将Android GVM userdata文件系统从 EXT4 修改为 F2FS
  • PyG edge index 转换回 邻接矩阵
  • element-plus的el-tag标签关闭标签时的高亮显示逻辑
  • Ubuntu GCC切换源
  • echarts 地图迁徙与地图下钻
  • [Vue CLI 3] 配置解析之 css.extract
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • Bootstrap JS插件Alert源码分析
  • chrome扩展demo1-小时钟
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • golang中接口赋值与方法集
  • Java方法详解
  • opencv python Meanshift 和 Camshift
  • PHP面试之三:MySQL数据库
  • rc-form之最单纯情况
  • Spark RDD学习: aggregate函数
  • SpiderData 2019年2月16日 DApp数据排行榜
  • Vultr 教程目录
  • 笨办法学C 练习34:动态数组
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 后端_ThinkPHP5
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 如何合理的规划jvm性能调优
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 用简单代码看卷积组块发展
  • 在weex里面使用chart图表
  • 做一名精致的JavaScripter 01:JavaScript简介
  • MyCAT水平分库
  • 选择阿里云数据库HBase版十大理由
  • (Forward) Music Player: From UI Proposal to Code
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (南京观海微电子)——I3C协议介绍
  • (排序详解之 堆排序)
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .netcore如何运行环境安装到Linux服务器
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET构架之我见
  • .NET面试题(二)
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题