springboot优雅获取前端参数的方法详解

 更新时间:2024年03月18日 08:37:26   作者:xiezhr  
现在的项目基本上都是前后端分离的项目,如何打通前后端,接收前端传过来的参数呢,这篇文章小编就来和大家详细介绍一下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

三、通过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 对象上

四、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 测试结果

五、用@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 测试结果

六、 用@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 测试结果

七、接收文件 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 测试结果

到此这篇关于springboot优雅获取前端参数的方法详解的文章就介绍到这了,更多相关springboot获取前端参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Effective Java 在工作中的应用总结

    Effective Java 在工作中的应用总结

    《Effective Java》是一本经典的 Java 学习宝典,值得每位 Java 开发者阅读。下面文章即是将书中和平日工作较密切的知识点做了部分总结,需要的朋友可以参考下
    2021-09-09
  • 通过Feign进行调用@FeignClient 找不到的解决方案

    通过Feign进行调用@FeignClient 找不到的解决方案

    这篇文章主要介绍了通过Feign进行调用@FeignClient 找不到的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Spring的AOP极简入门

    Spring的AOP极简入门

    今天小编就为大家分享一篇关于Spring的AOP极简入门,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 动态上传jar包热部署的实战详解

    动态上传jar包热部署的实战详解

    开发系统过程中遇到的一个需求,系统给定一个接口,用户可以自定义开发该接口的实现,并将实现打成jar包,上传到系统中。系统完成热部署,并切换该接口的实现。本文详细介绍了实现方法,需要的可以参考一下
    2022-10-10
  • Java异常处理中的各种细节汇总

    Java异常处理中的各种细节汇总

    这篇文章主要给大家介绍了关于Java异常处理中的各种细节的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-01-01
  • Java设计模式模板方法模式(Template)用法解析

    Java设计模式模板方法模式(Template)用法解析

    这篇文章主要介绍了Java设计模式模板方法模式(Template)用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • feign服务端发现异常客户端处理的方法介绍

    feign服务端发现异常客户端处理的方法介绍

    这篇文章主要给大家介绍了关于feign服务端发现异常客户端处理的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用feign具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Java中Synchronized锁的使用和原理详解

    Java中Synchronized锁的使用和原理详解

    这篇文章主要介绍了Java中Synchronized锁的使用和原理详解,synchronized是 Java 内置的关键字,它提供了一种独占的加锁方式,synchronized的获取和释放锁由JVM实现,用户不需要显示的释放锁,非常方便,需要的朋友可以参考下
    2023-07-07
  • Java诊断工具Arthas的快速入门与实践

    Java诊断工具Arthas的快速入门与实践

    在Java开发中,我们经常会遇到各种性能问题、内存泄漏、线程阻塞等问题,这些问题往往难以通过常规的日志和监控工具来定位和解决,Arthas作为一款开源的Java诊断工具,提供了强大的实时监控和诊断功能,本文将详细介绍Arthas的安装、基本使用以及一些常用命令
    2025-02-02
  • Java实现一键获取Mysql所有表字段设计和建表语句的工具类

    Java实现一键获取Mysql所有表字段设计和建表语句的工具类

    这篇文章主要为大家详细介绍了如何利用Java编写一个工具类,可以实现一键获取Mysql所有表字段设计和建表语句,感兴趣的小伙伴可以了解一下
    2023-05-05

最新评论