首页 > 其他分享 >springboot如何优雅的获取前端参数

springboot如何优雅的获取前端参数

时间:2024-03-17 09:55:41浏览次数:18  
标签:return String 前端 private 优雅 参数 id public springboot

写在前面

对于初学者来说,困难的不是理论知识,而是如何在程序中具体实现。

现在的项目基本上都是前后端分离的项目,如何打通前后端,接收前端传过来的参数呢?

废话不多说,这篇文章就来说一说接收前端参数的具体操作

一、获取路径中的值

1.1 核心代码

@GetMapping("/getArticle/{id}")
public Article getArticle(@PathVariable("id") Long id){
    System.out.println("获取到路径中的值为:"+id);
    return parmsService.findArticleById(id);
}

1.2 测试结果

在访问“http://localhost:8080/article/1” 时,程序会自动将URL中的模板变量{id} 绑定到通过@PathVariable注解的同名参数上,所以程序中可以获取到id=1

获取路径中的值

打印结果

二、获取路径中的参数

2.1 核心代码

@RequestMapping(value = "/addUser/",method = RequestMethod.POST)
public String addUser(String  name,String sex,int age){
    System.out.println("获取到参数中的值为:"+name+","+sex+","+age);
    return "添加文章成功";
}

2.2 测试结果

这里的参数和上面的不一样,这里的参数是通过“=”隔开的,多个参数使用&分割。 例如测试例子中的“http://localhost:8080/?name=小凡&sex=男&age=18”

postman测试结果

idea打印值

三、通过Bean接收对象参数

3.1 核心代码

//①User
@Data
public class User {
    private  Integer id;
    private  String name;
    private String sex;
    private  Integer age;
}


//接收参数方法
@PostMapping("/addnewUser/")
public String addUser(User user){
    System.out.println(user);
    return  "添加用户成功";
}

3.2 测试结果

这里直接将前端传过来的参数映射到User 对象上

postman测试结果

idea打印结果

四、HttpServletRequest接收参数

4.1 核心代码

@PostMapping("/addBook/")
public String addBook(HttpServletRequest request){
    String bookName = request.getParameter("bookName");
    String author = request.getParameter("author");
    System.out.println("获取到参数中的值为:"+bookName+","+author);
    return "添加书籍成功";
}

4.2 测试结果

postman测试结果

idea测试结果

五、用@RequestParam接收参数

5.1 核心代码

@GetMapping("/getParams")
public String getParms(@RequestParam("param1") String  param1,@RequestParam("param2") String param2){
    System.out.println("获取到参数中的值为:"+param1+","+param2);
    return "Param1: " + param1 + ", parm2: " + param2;
}

5.2 测试结果

postman测试结果

idea测试结果

六、 用@RequestBody 接收json数据

6.1 核心代码

//① 定义User实体对象
@Data
public class User {
    private  Integer id;
    private  String name;
    private String sex;
    private  Integer age;
}
//② 接收参数
@PostMapping("/addUsers")
public List<User> addUsers(@RequestBody List<User> users){
    System.out.println(""+users);
    return users;
}

6.2 测试结果

postman测试结果

idea打印结果

七、接收文件 MultipartFile

7.1 核心代码

@PostMapping("/singleFileUpload")
public String singleFileUpload(@RequestParam("file") MultipartFile file){
    //文件存储路径
    final String BASE_PATH = "E:\\xiezhrspace\\parm-demo\\";
    if(file.isEmpty()){
        return "文件为空";
    }
    //获取文件名
    String fileName = file.getOriginalFilename();

    try {
        //新建一个文件路径
        File dest = new File(BASE_PATH + fileName);
        //判断路径是否存在,如果不存在就创建一个
        if(!dest.getParentFile().exists()){
            dest.getParentFile().mkdirs();
        }
        //将上传文件保存到一个目标文件当中
        file.transferTo(dest);

    } catch (IOException e) {
        e.printStackTrace();
    }
    return "上传成功";
}

7.2 测试结果

postman测试结果

文件上传成功

以上就是本期全部内容,希望对您有所帮助,我们下期再见(●'◡'●)

标签:return,String,前端,private,优雅,参数,id,public,springboot
From: https://www.cnblogs.com/xiezhr/p/18078121

相关文章

  • 实现简易的前端路由
     基于URL的hash实现(点击菜单的时候改变URL的hash,根据hash的变化控制组件的切换) //监听 window 的 onhashchange 事件,根据获取到的最新的hash值,切换要显示的组建的名称window.onhashchange=function(){ // 通过location.hash获取到最新的hash值} ......
  • 【开源】SpringBoot框架开发房屋出售出租系统
    目录一、摘要1.1项目介绍1.2项目录屏二、功能模块2.1房屋销售模块2.2房屋出租模块2.3预定意向模块2.4交易订单模块三、系统展示四、核心代码4.1查询房屋求租单4.2查询卖家的房屋求购单4.3出租意向预定4.4出租单支付4.5查询买家房屋销售交易单五、免责说......
  • 【开源】SpringBoot框架开发房屋出售出租系统
    目录一、摘要1.1项目介绍1.2项目录屏二、功能模块2.1房屋销售模块2.2房屋出租模块2.3预定意向模块2.4交易订单模块三、系统展示四、核心代码4.1查询房屋求租单4.2查询卖家的房屋求购单4.3出租意向预定4.4出租单支付4.5查询买家房屋销售交易单五、免责说......
  • 部署测试平台-部署前端
    1.打包前端进入前端根目录,执行npmrunbuild 打成的包是放在dist文件夹下面:2.把打好的前端dist包下所有的文件放到nginx挂载目录/root/website/web/imos下 nginx挂载前端的目录,步骤请参https://www.cnblogs.com/quxue/p/180673163.检查:浏览器打开链接:http://服务......
  • SpringBoot笔记
    SpringBoot官方文档:SpringBoot什么是SpringSpring是一个开源框架,2003年兴起的一个轻量级的Java开发框架,作者:RodJohnson。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。Spring如何简化Java开发为了降低Java开发的复杂性,Spring采用了以下4种关键策略:基......
  • 纯前端实现 PNG 图片压缩 | UPNG.js
    在线Demo体验地址→:https://demos.sugarat.top/pages/png-compress/前言最近在迭代自己的图床应用,由于使用时间的累计,存储空间占用越来越大了,在做Web应用的时候会随手拿tinypng压缩一下图片。想着给咱图床也加个压缩的功能,这样上传/访问也能省点......
  • 基于springboot的七彩云南文化旅游网站的设计与实现(论文+源码)_kaic
    摘 要传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装七彩云南文化旅游网站软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,七彩云南文......
  • 掌握python的dataclass,让你的代码更简洁优雅
    dataclass是从Python3.7版本开始,作为标准库中的模块被引入。随着Python版本的不断更新,dataclass也逐步发展和完善,为Python开发者提供了更加便捷的数据类创建和管理方式。dataclass的主要功能在于帮助我们简化数据类的定义过程。本文总结了几个我平时使用较多dataclass技巧。1.......
  • 前端React篇之React setState 调用的原理、React setState 调用之后发生了什么?是同步
    目录ReactsetState调用的原理ReactsetState调用之后发生了什么?是同步还是异步?ReactsetState调用之后发生了什么?setState是同步还是异步的ReactsetState调用的原理在React中,setState方法是用于更新组件状态的重要方法。当setState被调用时,React会对组件进......
  • Vue+SpringBoot打造教学过程管理系统
    目录一、摘要1.1项目介绍1.2项目录屏二、功能模块2.1教师端2.2学生端2.3微信小程序端2.3.1教师功能如下2.3.2学生功能如下三、系统展示四、核心代码4.1查询签到4.2签到4.3查询任务4.4查询课程4.5生成课程成绩六、免责说明一、摘要1.1项目介绍基......