spring boot获取请求参数并响应

获取请求参数并响应:

响应:

在Controller类或方法上加上@ResponseBody注解,可以将方法返回值直接响应,如果返回值是实体对象或者集合,将转换为json格式响应。如下例:

@RestController=@ResponseBody+@Controller;(@Controller只能作用与类上)

将返回信息进行封装,固定响应信息的格式。

public class Result {private int code;private String msg;private Object data;public static Result success(Object data){return new Result(1,"success",data);}public static Result success(){return new Result(1,"success",null);}public static Result error(String msg){return new Result(0,msg,null);}public Result(int code, String msg, Object data) {this.code = code;this.msg = msg;this.data = data;}public Result() {}public int getCode() {return code;}public void setCode(int code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}@Overridepublic String toString() {return "Result{" +"code=" + code +", msg='" + msg + '\'' +", data=" + data +'}';}
}


获取请求参数

  • 简单参数:

        定义方法形参,请求参数名与形参变量名一致。

        如果不一致,通过@RequestParam手动映射。

        数据传递要使用基本类型的包装类,否则不传递此数据会报错,当使用了@RequestParam映射时,required默认为true,则此参数必须传递

@RestController
public class getParameter { @RequestMapping("/user/getUser")
//    数据传递要使用基本类型的包装类,否则不传递此数据会报错,当使用了@RequestParam映射时,required默认为true,则此参数必须传递public Result test1(@RequestParam(value="name",required=false) String username, Integer age){System.out.println(username+":"+age);return Result.success(username+":"+age);}
}
  • 实体参数:

        请求参数名,与实体对象的属性名一致,会自动接收封装参数。

//生成toString、set和get方法,如果生成了构造方法,一定要提供一个无参构造函数
public class User {private String name;private Integer age;private Integer sex;private Address address;
}
public class Address {private String privence;private String city;
}
    @RequestMapping("/user/userObjectParameter")public Result test3(User user){System.out.println(user);return Result.success(user);}
  • 数组集合参数:

        数组:请求参数名与数组名一致,直接封装。

        集合:请求参数名与集合名一致,@RequestParam绑定关系

//    数组@RequestMapping("/user/array")public Result test4(String[] habby){System.out.println(Arrays.toString(habby));return Result.success(habby);}
//    集合@RequestMapping("/user/list")public Result test5(@RequestParam List<String> habby){System.out.println(habby);return Result.success(habby);}
  • 日期参数:

        使用@DateTimeFormat定义接收日期的格式。

//    时间,根据ISO 8601规范,日期和时间之间应该用大写字母"T"分隔。@RequestMapping("/user/date")public Result test6(@DateTimeFormat(pattern="yyyy-MM-dd HH-mm-ss") LocalDateTime date){System.out.println(date);return Result.success(date.toString().replace("T"," "));}
  • JSON参数:

        使用@RequestBody绑定关系(注意请求方式为post)

//    json@RequestMapping("/user/json")public Result test7(@RequestBody User user){System.out.println(user);return Result.success(user);}
  • 路径参数

        使用@PathVariable绑定关系

//    路径参数@RequestMapping("/userPath/{id}/{name}")public Result test8(@PathVariable String id, @PathVariable String name){System.out.println(id + ":" + name);return Result.success(id+":"+name);}

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

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

相关文章

【必收藏】史上最全 Meta Llama 3 相关网址资料

不要犹豫&#xff0c;先收藏再说&#xff0c;你肯定用得到&#xff01; ✅ 模型相关网址 Meta Llama 3 官网&#xff1a;https://llama.meta.com/llama3 Meta AI 网址&#xff1a;https://ai.meta.com/ 官网下载地址&#xff1a;https://llama.meta.com/llama-downloads Git…

JavaSE:继承 多态

继承 继承的本质 子类能够使用父类的方法和变量 使用场景&#xff1a;代码复用 在一个类中实现了一个很复杂的方法&#xff0c;给一个新类重新实现这个方法&#xff0c;我们直接继承即可 public class Student {public String sno;public void study() {System.out.printl…

Spring Boot 中Mybatis使用Like的使用方式和注意点

说明 模糊查询在项目中还是经常使用的&#xff0c;本文就简单整理Mybatis中使用Like进行模糊查询的几种写法以及一些常见的问题。 使用Springboot简单配置一下Mybatis&#xff0c;然后进行说明。Springboot集成Mybatis这里就不做介绍了&#xff0c;这里我们主要介绍一下在mybat…

【Rust】——项目实例:——命令行实例(一)

&#x1f4bb;博主现有专栏&#xff1a; C51单片机&#xff08;STC89C516&#xff09;&#xff0c;c语言&#xff0c;c&#xff0c;离散数学&#xff0c;算法设计与分析&#xff0c;数据结构&#xff0c;Python&#xff0c;Java基础&#xff0c;MySQL&#xff0c;linux&#xf…

《手把手教你》系列基础篇(九十四)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-下篇(详解教程)

1.简介 上一篇宏哥用PageFactory实现了POM&#xff0c;宏哥再介绍一下如果不用PageFactory如何实现POM。 2.项目实战 在这里宏哥以百度首页登录的例子&#xff0c;如果用POM实现&#xff0c;在测试脚本中实际代码就几行。 2.1代码设计 1.先新建一个pageObjects包&#xff…

算法打卡day38

今日任务&#xff1a; 1&#xff09;完全背包理论基础(卡码网52. 携带研究材料) 2&#xff09;518.零钱兑换II 3&#xff09;377. 组合总和 Ⅳ 4&#xff09;复习day13 完全背包理论基础(卡码网52. 携带研究材料) 题目链接&#xff1a;52. 携带研究材料&#xff08;第七期模拟…

使用LangChain和GPT-4,创建Pandas DataFrame智能体

大家好&#xff0c;数据分析和数据处理是数据科学领域每天都在进行的基本任务。高效和快速的数据转换对于提取有意义的见解和基于数据做出明智决策至关重要。其中最受欢迎的工具之一是Python库Pandas&#xff0c;它提供了一个功能强大的DataFrame工具&#xff0c;使用灵活直观的…

docker部署sqlserver过程记录

目录 前言 一、基础概念 二、过程步骤 1.docker操作 2.问题及解决 总结 前言 最近接触到了NL2SQL&#xff0c;有个相对比较适合自己的开源项目&#xff0c;就说看下。忽然发现自己电脑都没安装个数据库。那就安装一个吧&#xff0c;自从有了docker&#xff0c;能docker安…

华为OD-C卷-开源项目热榜[100分]Python3-100%

题目描述 某个开源社区希望将最近热度比较高的开源项目出一个榜单,推荐给社区里面的开发者。 对于每个开源项目,开发者可以进行关注(watch)、收藏(star)、fork、提issue、提交合并请求(MR)等。 数据库里面统计了每个开源项目关注、收藏、fork、issue、MR的数量,开源…

基于51单片机土壤湿度检测及自动浇花系统

基于51单片机土壤湿度检测及自动浇花 &#xff08;仿真&#xff0b;程序&#xff0b;原理图&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.LCD1602实时显示湿度、湿度上下限&#xff1b; 2.可用按键设置湿度、湿度上下限&#xff1b; 3.当湿度低于下限…

分类预测 | Matlab实现WOA-LSSVM鲸鱼算法优化最小二乘支持向量机数据分类预测

分类预测 | Matlab实现WOA-LSSVM鲸鱼算法优化最小二乘支持向量机数据分类预测 目录 分类预测 | Matlab实现WOA-LSSVM鲸鱼算法优化最小二乘支持向量机数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现WOA-LSSVM鲸鱼算法优化最小二乘支持向量机数据…

搭建电商供应链需要用到哪些电商接口?||主流电商API接口解说

搭建供应链系统时&#xff0c;您可能需要与电商平台进行集成&#xff0c;以实现订单管理、库存同步、物流跟踪等功能。以下是一些常见的电商接口&#xff0c;可以帮助您构建供应链系统&#xff1a; 1. **淘宝开放平台接口**&#xff1a;淘宝开放平台提供了丰富的接口&#xff…

(六)PostgreSQL的组织结构(2)-默认数据库

PostgreSQL的组织结构(2)-默认数据库 安装完postgresql后&#xff0c;我们发现它自带了3个数据库。postgres、template0、template1 postgres# \lList of databasesName | Owner | Encoding | Locale Provider | Collate | Ctype | ICU Locale | ICU Rules |…

4399下架了的flash游戏 网盘自提取

下载好游戏后&#xff0c;需要使用flash进行打开&#xff0c;直接拖动游戏文件到flash文件&#xff0c;即可用flash快捷打开。 flash下载 百度网盘链接&#xff1a;https://pan.baidu.com/s/1KUz4ymg0SS7wFGH54hdE3A?pwdnisj 提取码&#xff1a;nisj 一、幻想纹章 不太行了…

elasticsearch 关于向量化检索

1、elasticsearch使用的是8.5.0 索引和mapping构建&#xff1a; PUT image-index {"mappings": {"properties": {"mydatavector": {"type": "dense_vector","dims": 3,"index": true,"similarit…

什么是死锁?死锁产生的条件是什么?

死锁 死锁是指两个或两个以上的进程(或线程&#xff09;在执行过程中&#xff0c;由于竞争资源或者由于彼此通信而造成的一种阻塞的现象&#xff0c;若无外力作用&#xff0c;它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁&#xff0c;这些永远在互相等待的进…

【学习】linux实用命令

LINUX命令 普通用户查询系统信息 命令 &#xff1a; [wlm]$ cat /ect/os-release NAME "Kylin" VERSION ""功能&#xff1a; 这个输出会告诉你正在使用的操作系统的名称&#xff08;NAME&#xff09;、版本&#xff08;VERSION 或 VERSION_ID&#xf…

基于sfunction builder的c-sfunction编写——自定义函数编写

目录 前言 1、sfunction builder自定义函数编写方法一 2、sfunction builder自定义函数编写方法二 3.总结

Node.JS后端开发笔记整理(简洁版)

前端 1. 开发环境和技术栈 开发工具&#xff1a;Visual Studio CodeNode.js版本&#xff1a;18.19.0&#xff08;建议保持在18&#xff09;包管理器&#xff1a;npm前端框架&#xff1a;Vue3.4脚本语言&#xff1a;TypeScript构建工具&#xff1a;Vite后端框架&#xff1a;Ex…

ubuntu设置扩充swap交换空间

Swap是指Linux系统中的交换分区,类似于Windows的虚拟内存,当内存不足的时候,把一部分硬盘空间虚拟成内存来使用,从而解决内存不足的问题。交换分区,它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行! …