广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringBoot如何获取Get请求参数详解
  • 712
分享到

SpringBoot如何获取Get请求参数详解

Python 官方文档:入门教程 => 点击学习

摘要

目录前言一、直接在请求路径中二、参数跟在 ? 号后面1,获取参数的基本方法2、使用 map 来接收参数3、接收一个集合4、通过对象接收参数总结前言 利用 Spring Bo

前言

利用 Spring Boot 来制作 Web 应用,就必定会涉及到前端与后台之间互相传递参数。下面演示 Controller 如何接收以 GET 方式传递过来的参数。

一、直接在请求路径中

(1)、假设请求地址是如下这种 RESTful 风格,SpringBoot 这个参数值直接放在路径里面

Http://localhost:8080/hello/springboot

(2)、Controller 定义,如下:

@RestController
public class HelloController {
    @GetMapping("/hello/{name}")
    public String hello(@PathVariable("name") String name){
 
        return "你好," + name + " !";
    }
}

二、参数跟在 ? 号后面

1,获取参数的基本方法

(1)假设请求地址是如下这种传统方式,参数跟在问号后面:

http://localhost:8080/hello?name=Springboot

(2)Controller 定义如下所示:

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello(@RequestParam("name") String name){
 
        return "你好," + name + " !";
    }
}

可以把在注解 @RequestParam 添加  required = false 设置参数为非必输项
可以把在注解 @RequestParam 添加  defaultValue 参数 设置默认值。

2、使用 map 来接收参数

(1)Controller 还可以直接使用 map 来接收所有的请求参数:

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello(@RequestParam Map<String, Object> map){
 
        return "图书: " + map.get("name") +  " 的作者为: " + map.get("author");
    }
}

(2)、结果如下所示:

3、接收一个集合

(1)、Controller 定义接收 数组或者List的方法,如下:

@RestController
public class HelloController {
 
    @GetMapping("/array")
    public String array(@RequestParam("name") String[] names){
 
        System.out.println("我是数组接收的参数:" + Arrays.toString(names));
 
        return "我是数组接收的参数:" + Arrays.toString(names);
    }
 
    @GetMapping("/list")
    public String list(@RequestParam("name")List<String> names){
        System.out.println("我是List接收的参数:" + names);
        return "我是List接收的参数:" + names.toString();
    }
 
}

(2)、测试结果

4、通过对象接收参数

如果一个 get 请求的参数太多,我们构造一个对象来简化参数的接收方式。

(1)、定义一个基本对象Book 和 Controller

public class Book {
    private String name;
    private String author;
    private Double price;
   // 省略 getter setter 方法
}
@RestController
public class BookController {
    @GetMapping("/book")
    public Book book(Book book){
        System.out.println("接收到的参数为:" + book);
        return  book;
    }
}

 (2)、基本用法:

(3)、构造多个对象来接收参数,代码如下所示:

public class User {
    private String username;
    private String passWord;
    // 省略 getter setter 方法
}
@RestController
public class BookController {
    @GetMapping("/book")
    public Book book(Book book, User user){
        System.out.println("接收到的参数为:" + book);
        System.out.println("接收到的参数为:" + user);
        return  book;
    }
}

访问:

输出结果:

(4)、指定前缀。

如果在多个对象参数的方法中,对象之间存在相同的 属性时 可以结合  @InitBinder 指定前缀的方式处理。如下所示,Book 对象和 Author 对象中都存在 name 属性。

    除了在 Controller 里单独定义预处理方法外,我们还可以通过 @ControllerAdvice 结合 @InitBinder 来定义全局的参数预处理方法,方便各个 Controller 使用

public class Book {
    private String name;
    private String author;
}
 
 
public class Author {
    private String name;
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    @Override
    public String toString() {
        return "Author{" +
                "name='" + name + '\'' +
                '}';
    }
}
@RestController
public class BookController {
    @GetMapping("/book")
    public Book book(@ModelAttribute("b") Book book, @ModelAttribute("a") Author author){
        System.out.println("接收到的参数为:" + book);
        System.out.println("接收到的参数为:" + author);
        return  book;
    }
 
    // 添加  InitBinder 指定 前缀 b
    @InitBinder("b")
    private void initBinderB(WEBDataBinder binder) {
        binder.setFieldDefaultPrefix("b.");
    }
 
    // 添加  InitBinder 指定 前缀 a
    @InitBinder("a")
    private void initBinderA(WebDataBinder binder) {
        binder.setFieldDefaultPrefix("a.");
    }
}

访问:

结果:

总结

到此这篇关于SpringBoot如何获取Get请求参数的文章就介绍到这了,更多相关SpringBoot获取Get请求参数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringBoot如何获取Get请求参数详解

本文链接: https://www.lsjlt.com/news/174397.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot如何获取Get请求参数详解
    目录前言一、直接在请求路径中二、参数跟在 号后面1,获取参数的基本方法2、使用 map 来接收参数3、接收一个集合4、通过对象接收参数总结前言 利用 Spring Boo...
    99+
    2022-12-08
    springboot get请求参数 spring boot获取请求参数 springboot 请求
  • java如何获取get请求参数
    在Java中,可以使用HttpServletRequest对象来获取GET请求参数。HttpServletRequest类是Java...
    99+
    2023-10-21
    java
  • django如何获取get请求参数
    在Django中,可以通过`request.GET`来获取GET请求的参数。`request.GET`是一个类字典的对象,你可以通过...
    99+
    2023-09-26
    django
  • php如何获取get请求参数
    在PHP中,可以通过超全局数组$_GET来获取GET请求参数。以下是一些示例:1. 获取单个GET请求参数:```php$id = ...
    99+
    2023-08-15
    php
  • jquery如何获取get请求的参数
    本篇内容介绍了“jquery如何获取get请求的参数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Web开发中,GET请求是非常常见的一种...
    99+
    2023-07-06
  • php怎么获取get请求参数
    在PHP中,可以通过`$_GET`超全局数组来获取GET请求参数。下面是一个示例代码:```php<phpif(isset($...
    99+
    2023-08-16
    php
  • django怎么获取get请求参数
    在Django中,可以通过`request.GET`属性来获取GET请求参数。`request.GET`是一个类似字典的对象,可以使...
    99+
    2023-10-10
    django
  • Express之get,pos请求参数的获取
    Express的版本4.X Get query参数的获取 url假设:http://localhost:3000/users/zqzjs?name=zhaoqize&word=cool&job[st...
    99+
    2022-06-04
    参数 Express pos
  • jquery怎么获取get请求的参数
    JQuery是一款非常流行的JavaScript库,它提供了很多方便快捷的方法来操作DOM,实现动画效果,以及处理AJAX请求等等。本文将着重讨论如何利用JQuery获取GET请求的参数。在Web开发中,GET请求是非常常见的一种HTTP请...
    99+
    2023-05-14
  • springboot中不能获取post请求参数如何解决?
    这篇文章将为大家详细讲解有关springboot中不能获取post请求参数如何解决?,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。问题描述最近在做微信小程序,用的spring boot做后端,突然发现客户...
    99+
    2023-05-30
  • SpringMVC实现获取请求参数方法详解
    目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@RequestHeader5、@CookieValue6、通过POJO获取...
    99+
    2022-11-13
  • SpringBoot过滤器如何获取POST请求的JSON参数
    目录SpringBoot过滤器获取POST请求的JSON参数想到了使用过滤器来实现这个功能所以我们可以通过获取到输入流来获取body从源码我们可以看到我们创建一个类并继承这个包装类有...
    99+
    2022-11-12
  • php如何获取post请求参数
    在PHP中,可以使用`$_POST`全局变量来获取POST请求中的参数。`$_POST`是一个关联数组,其中键是表单中的输入字段的名...
    99+
    2023-08-11
    php
  • SpringBoot之自定义Filter获取请求参数与响应结果案例详解
    一个系统上线,肯定会或多或少的存在异常情况。为了更快更好的排雷,记录请求参数和响应结果是非常必要的。所以,Nginx 和 Tomcat 之类的 web 服务器,都提供了访问日志,可以...
    99+
    2022-11-12
  • Nginx如何获取自定义请求header头和URL参数详解
    目录一、获取 header 请求头二、获取url参数总结一、获取 header 请求头 在 ngx_lua 中访问 Nginx 内置变量 ngx.var.http_HEADER 即可...
    99+
    2022-11-13
  • SpringBoot常见get/post请求参数处理、参数注解校验及参数自定义注解校验详解
    目录spring boot 常见http get ,post请求参数处理PathVaribale 获取url路径的数据RequestParam 获取请求参数的值注意GET参数校验PO...
    99+
    2022-11-13
  • Java注解怎么获取请求参数值
    在Java中,可以使用反射来获取方法中的请求参数值。以下是一个示例代码:```javaimport java.lang.annota...
    99+
    2023-09-27
    Java
  • 使用flask如何获取post请求参数
    目录前言概述1. application/jsonhttp 请求报文格式如下:使用curlpostman 请求flask如何获取请求体呢2. application/x-www-fo...
    99+
    2022-11-11
  • 如何通过PHP获取GET参数
    在Web开发中,PHP是一种流行的后端语言。在使用PHP编写应用程序时,很常见的问题是如何通过GET请求从URL中获取参数。本文将探讨这个问题,讨论如何通过PHP获取GET参数,并介绍一些技巧和注意事项。首先,让我们看一下如何使用PHP获取...
    99+
    2023-05-14
  • Python Flask 请求数据获取响应详解
    目录一,请求数据及其获取        1.1请求相关数据1.2固定参数与转换器1.3查询参数获取1....
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作