springboot的请求与响应

一,简单参数

  • Get请求:只需要在postman中的Params参数与方法中的形参一致就可以
  • Post请求与Get方法一致只需要在
  • 如果参数名不一致--通过@RequestParam中的value属性执行请求参数名

    • @RequestParam(name = "name",required =false) //表示name参数不是必须传递
    • @RequestMapping("/simpleParam")
      public String simpleParam(@RequestParam("name") String username , Integer age ){System.out.println(username+"  :  "+age);return "OK";
      }
    • 如果400表示传递的参数有问题

二,传递实体参数(实体类)

 1,简单实体参数(无嵌套)

  1. 我们可以考虑将请求参数封装到一个实体类对象中。 要想完成数据封装,需要遵守如下规则:请求参数名与实体类的属性名相同
  2. @RestController
    public class RequestController {//实体参数:简单实体对象@RequestMapping("/simplePojo")public String simplePojo(User user){System.out.println(user);return "OK";}
    }

  3. 当参数名和实体类属性不一致时该属性无法自动接收会显示NULL 

2,复杂实体类参数(有嵌套)

  1. 复杂实体对象的封装,需要遵守如下规则:

    请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套实体类属性参数。
  2. 生成GET和SET 和toString方法
  3. public class Address {private String province;private String city;public String getProvince() {return province;}public void setProvince(String province) {this.province = province;}public String getCity() {return city;}public void setCity(String city) {this.city = city;}@Overridepublic String toString() {return "Address{" +"province='" + province + '\'' +", city='" + city + '\'' +'}';}
    }
  4. public class User {private String name;private Integer age;private Address address; //地址对象public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public Address getAddress() {return address;}public void setAddress(Address address) {this.address = address;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +", address=" + address +'}';}
    }

三, 数组参数提交

1,前端参数传递

@RestController
public class RequestController {//数组集合参数@RequestMapping("/arrayParam")public String arrayParam(String[] hobby){System.out.println(Arrays.toString(hobby));return "OK";}
}

四,集合参数提交

1, 前端参数与数组传递方式一样,主要是后端不一样

@RestController
public class RequestController {//数组集合参数@RequestMapping("/listParam")public String listParam(@RequestParam List<String> hobby){System.out.println(hobby);return "OK";}
}

四,JSON参数提交 

封装规则:JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数。需要使用 @RequestBody标识。

实体类上要有GET和SET方法

五,路径参数提交

1,适用于根据ID查询数据 

@RestController
public class RequestController {//路径参数@RequestMapping("/path/{id}")public String pathParam(@PathVariable Integer id){System.out.println(id);return "OK";}
}

2,传递多个路径参数

3,根据ID删除多个参数

@DeleteMapping("/{ids}")public Result delete(@PathVariable List<Integer> ids){log.info("批量删除操作, ids:{}",ids);classService.delete(ids);return Result.success();}

 六,日期参数

@RestController
public class RequestController {//日期时间参数@RequestMapping("/dateParam")public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){System.out.println(updateTime);return "OK";}
}

七,响应 

controller中自动集成了响应参数


@RestController中自动集成了@RequestMapping和@ResponseBody

@ResponseBody注解会将数据返回给请求数据的页面

@RestController
public class HelloController {@RequestMapping("/hello")public String hello(){System.out.println("Hello World ~");return "Hello World ~";}
}

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

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

相关文章

如何设计一个mysql的统计分析表?

在设计这样的MySQL统计分析表时&#xff0c;首先要明确所要收集的数据。我们至少需要以下几方面的数据&#xff1a; 病例ID&#xff0c;用于唯一标识每个病例。地区&#xff0c;即病例发生的地理位置。人群类别&#xff0c;比如儿童、青少年、成年人、老年人等。食源性级别&am…

react 性能优化之useCallback和useMemo的区别

useCallback缓存函数优化子组件减少渲染useMemo缓存返回值优化当前组件减少渲染

【CesiumJS】(1)Hello world

介绍 Cesium 起源于2011年&#xff0c;初衷是航空软件公司(Analytical Graphics, Inc.)的一个团队要制作世界上最准确、性能最高且具有时间动态性的虚拟地球。取名"Cesium"是因为元素铯Cesium让原子钟非常准确&#xff08;1967年&#xff0c;人们依据铯原子的振动而对…

【面经】什么是行锁/表锁,什么时候锁行/锁表

什么是行锁/表锁 行锁是指在事务执行期间&#xff0c;仅对数据表中的某一行(或某几行)加锁&#xff0c;其他行不受影响。 行锁适用于需要对表中部分数据进行修改或查询的情况。 它可以防止多个事务同时修改同一行数据&#xff0c;从而保证数据的一致性和完整性。 在大多数情况…

【实战Flask API项目指南】之三 路由和视图函数

实战Flask API项目指南之 路由和视图函数 本系列文章将带你深入探索实战Flask API项目指南&#xff0c;通过跟随小菜的学习之旅&#xff0c;你将逐步掌握 Flask 在实际项目中的应用。让我们一起踏上这个精彩的学习之旅吧&#xff01; 前言 当小菜踏入Flask后端开发的世界时&…

柯桥俄语考级培训,俄语专八如何备考

1.用好真题 真题一共分为&#xff1a;口语表述、听力、词汇语法句法、文学常识、国情、阅读理解、俄汉互译、作文等部分。 第一&#xff0c;要自己动手做真题&#xff0c;然后对答案&#xff0c;看错题错在什么地方&#xff0c;还有哪些知识点是盲区。 第二&#xff0c;分析每…

Android GB28181历史视音频回放

作为GB28181安卓客户端&#xff0c;实时视音频点播是必须支持的功能&#xff0c;对于历史视音频回放功能&#xff0c;不支持的话可以从设备上拷贝录像文件再播放&#xff0c;但有些场景没法拷贝&#xff0c;安卓支持回放还是需要的。 历史视音频的回放和实时视音频点播信令上很…

HTTP/HTTPS、SSL/TLS、WS/WSS 都是什么?

有同学问我&#xff0c;HTTP/HTTPS、SSL/TLS、WS/WSS 这都是些什么&#xff1f;那我们就先从概念说起&#xff1a; HTTP 是超文本传输协议&#xff0c;信息是通过明文传输。HTTPS 是在 HTTP 的基础上信息通过加密后再传输。SSL 是实现 HTTPS 信息传输加密的算法。TLS 是 SSL 的…

基于C语言实现扫雷小游戏

扫雷游戏 1. 扫雷游戏分析和设计1.1 扫雷游戏的功能说明1.2 游戏的分析和设计1.2.1 数据结构的分析 2. 扫雷游戏的代码实现3. 扫雷游戏的扩展 1. 扫雷游戏分析和设计 1.1 扫雷游戏的功能说明 使用控制台实现经典的扫雷游戏 游戏可以通过菜单实现继续玩或者退出游戏 扫雷的棋…

Linux yum 没有可用软件包 fping。 错误:无须任何处理 的解决办法

yum install fping -y 报错解决&#xff1a; [rootcpcs-node-d4n591 ~]# yum install fping -y 已加载插件&#xff1a;fastestmirror Determining fastest mirrors* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com base …

React使用富文本CKEditor 5,上传图片并可设置大小

上传图片 基础使用&#xff08;标题、粗体、斜体、超链接、缩进段落、有序无序、上传图片&#xff09; 官网查看&#xff1a;https://ckeditor.com/docs/ckeditor5/latest/installation/integrations/react.html 安装依赖 npm install --save ckeditor/ckeditor5-react cked…

k8s系列文章一:安装指南

前言 k8s是docker的升级版&#xff0c;可用于docker集群配置管理微服务 一、更新ubuntu系统版本 sudo apt update sudo apt upgrade二、添加GPG密钥(阿里源) 尽管我不知道gpg是个什么东西&#xff0c;反正跟着做就完了 curl https://mirrors.aliyun.com/kubernetes/apt/do…

【Echarts】玫瑰饼图数据交互

在学习echarts玫瑰饼图的过程中&#xff0c;了解到三种数据交互的方法&#xff0c;如果对您也有帮助&#xff0c;不胜欣喜。 一、官网教程 https://echarts.apache.org/examples/zh/editor.html?cpie-roseType-simple &#xff08;该教程数据在代码中&#xff09; import *…

elasticsearch无法访问9200端口

近期部署elasticsearch后&#xff0c;启动时发现一直报如下错误: curl: (7) Failed connect to localhost:9200&#xff1b; Connection refused 部署的版本为elasticsearch-7.13.2,排查原因是因为开启了ssl认证。 解决方法: 在/opt/software/elasticsearch-7.13.2/config下…

echarts 画散点图, x周,y周在指定位置标志一下

文章目录 echarts 画散点图&#xff0c; x周&#xff0c;y周在指定位置标志一下示例一例子二示例三 echarts 画散点图&#xff0c; x周&#xff0c;y周在指定位置标志一下 示例一 let scatterData {data: [[[-0.2, -0.6],[0.4, 0.3],[0.1, 0.4],[0.3, 0.5],[0.09, 0.1],[0.7,…

【React】【react-globe.gl】3D Objects效果

目录 想要实现的效果实现过程踩坑安装依赖引入页面 想要实现的效果 示例地址 实现过程 踩坑 示例是通过script引入的依赖&#xff0c;但本人需要在react项目中实现该效果。按照react-globe.gl官方方法引入总是报错 Cant import the named export AmbientLight from non EcmaS…

kibana显示时间数据时的时区问题及时间显示格式设置

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

数据中心如何散热?

数据中心的散热是一个非常重要的问题&#xff0c;因为数据中心内运行的服务器、存储设备以及网络设备等都会产生大量的热量&#xff0c;如果不能有效地进行散热&#xff0c;将会导致设备故障和性能下降。下面是一些常见的数据中心散热方法&#xff1a; 空调系统&#xff1a;数据…

JS功能实现

目录 轮播图移动端轮播图按下回车发表评论tab栏切换全选按钮 轮播图 <style>* {box-sizing: border-box;}.slider {width: 560px;height: 400px;overflow: hidden;}.slider-wrapper {width: 100%;height: 320px;}.slider-wrapper img {width: 100%;height: 100%;display:…

【华为OD机试python】非严格递增连续数字序列【2023 B卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述: 输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格 递增连续数字序列的长度(比如12234属于非严格递增连续数字序列)。 输入描述: 输入一个字符串仅包含大小写字母和…