SpringBoot在Controller层接收参数的n种姿势(超详细)

 更新时间:2023年01月15日 09:03:28   作者:是阿俏同学吖  
这篇文章主要介绍了SpringBoot在Controller层接收参数的常用方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

前言

在工作中,比如要实现一个功能,前端传什么参数,后端的controller层中怎么接收参数 ,封装成了什么实体对象,有些参数是在URL上使用,有些参数是在body上使用,service层中做了什么逻辑,调用dao层的sql怎么写的,前端传的参数,后端用controller中的一个方法来接收请求这些都是我们需要思考的逻辑!

下面重点讲下SpringBoot接收请求的n种姿势,建议收藏哦~

接收get请求

(1)get请求无参数

@RestController
@RequestMapping("book")
public class BookController {

    @Resource
    private BookService bookService;
    /**
     * 按照条件获取书籍信息
     * @param bookParams
     * @return
     */
    @GetMapping("/getBookLists")
    @ResponseBody
    public CommonResponse<List<Book>> getBookLists(BookParams bookParams) {
        // 按照查询条件分页查询书籍
        List<Book> books = bookService.getBookList(bookParams);
        CommonResponse response = CommonResponse.successInstance(books);
        return response;
    }
}

获取参数方式1:http://localhost:9527/book/getBookLists这种方式的请求,不带参数

(2)get请求问号拼的参数
使用@RequestParam来取问号后面拼接的参数,告诉springboot 这个user对应的就是参数中的user

  @RequestMapping("/get")
    public void get (@RequestParam(name = "user") String user){
        System.out.println("接收到参数:"+user);
        return "接收到参数:"+user;
    }

获取参数方式2:获取http://localhost:9527?user=XXX问号拼接的参数

(3)get请求路径URL参数
@PathVariable是取url中的变量 ,会自动进行赋值。

@GetMapping("/path/{user}")
    public String path(@PathVariable(name = "user") String user){
        System.out.println("接收到参数:"+user);
        return "接收到参数:"+user;
    }

获取参数方式3:获取路径参数,RestFull风格入参

接收post请求

(1) 请求的参数是json格式 ,各参数名与实体类定义的字段一致
@RequestBody将参数映射为一个java对象

   @PostMapping("/post/same")
    public String same(@RequestBody Users users){
        System.out.println("JSON 接到的:"+users.toString());
        return "JSON 接到的:"+users.toString();
    }

获取参数方式1:post请求JSON数据格式,各参数名与实体类定义的字段一样

(2)请求JSON数据格式,各参数名与实体类定义的字段完全不一样(需要引入fastJson依赖

<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.57</version>
		</dependency>
@PostMapping("/fastJson")
    public String fastJson(@RequestBody JSONObject param){
        System.out.println("JSON :"+param.toJSONString());
        return "JSON :"+param.toJSONString();
    }

获取参数方式2:post请求JSON数据格式,各参数名与POJO定义的字段完全不一样(需要引入fastJson依赖)

(3)post请求的参数名都对应可以直接获取

@RequestMapping("/sameParamName")
    public String sameParamName(String users , String id){
        System.out.println("users:"+users+"id: "+id);
        return "users:"+users+"id: "+id;
    }

到此这篇关于SpringBoot在Controller层接收参数的常用方法(超详细)的文章就介绍到这了,更多相关SpringBoot Controller 接收参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 轻松掌握Java单例模式

    轻松掌握Java单例模式

    这篇文章主要帮助大家轻松掌握Java单例模式 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 如何基于http代理解决Java固定ip问题

    如何基于http代理解决Java固定ip问题

    这篇文章主要介绍了如何基于http代理解决Java固定ip问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • SpringBoot项目yml配置文件不自动提示解决方案

    SpringBoot项目yml配置文件不自动提示解决方案

    这篇文章主要介绍了SpringBoot项目配置文件.yaml/.yml文件编写时没有自动提示的解决方案,文章通过图文结合的方式给大家讲解的非常详细,需要的朋友可以参考下
    2024-06-06
  • Nacos集群模式下服务无法注册问题

    Nacos集群模式下服务无法注册问题

    这篇文章主要介绍了Nacos集群模式下服务无法注册问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • 快速校验实体类时,@Valid,@Validated,@NotNull注解无效的解决

    快速校验实体类时,@Valid,@Validated,@NotNull注解无效的解决

    这篇文章主要介绍了快速校验实体类时,@Valid,@Validated,@NotNull注解无效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • java实现服务器巡查的代码

    java实现服务器巡查的代码

    接到上级领导任务,需要实现一个这样的需求,一大批服务器,需要检查服务器能否ping通,ssh密码是否正常,以及检查服务器的cpu,内存,硬盘占用情况,下面通过java代码实现服务器巡查功能,需要的朋友一起看看吧
    2021-12-12
  • Java的JDBC编程使用之连接Mysql数据库

    Java的JDBC编程使用之连接Mysql数据库

    这篇文章主要给大家介绍了关于Java的JDBC编程使用之连接Mysql数据库的相关资料,JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,需要的朋友可以参考下
    2023-12-12
  • MySQL数据文件直接通过拷贝备份与恢复的操作方法

    MySQL数据文件直接通过拷贝备份与恢复的操作方法

    这篇文章主要介绍了MySQL数据文件直接通过拷贝备份与恢复的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • java中关于getProperties方法的使用

    java中关于getProperties方法的使用

    这篇文章主要介绍了java中关于getProperties方法的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 基于Java中最常用的集合类框架之HashMap(详解)

    基于Java中最常用的集合类框架之HashMap(详解)

    下面小编就为大家带来一篇基于Java中最常用的集合类框架之HashMap(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11

最新评论