欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

springboot控制层传递参数为非必填值的操作

时间:2022-03-13 12:55:30|栏目:JAVA代码|点击:

springboot控制层传递参数为非必填值

需求是查询全部评价时,后端控制层的level为非必选项,即为空。

这里@RequestParam(required=false)就可以处理level为非必须值的情况。

如果没有这一行,当level为空时,会返回空白页面。

这里要注意一下!是个坑

Controller层接收参数的形式

1.参数存在于请求路径中

1.请求的参数:http://localhost:8080/postman/123

123作为参数传递到后台,接收方法:使用@PathVariable注解

@PathVariable是spring3.0的一个新功能:接收请求路径中占位符的值

@RestController
@RequestMapping("postman")
public class controllerTest {
    /*
            localhost:8080/postman/***
     */
    @PostMapping("{id}")
    public void testPost(@PathVariable("id") Long id){
        System.out.println("接收到的参数"+id);
    }
}

2.请求的参数:http://localhost:8080/postman?id=123

接收方法:使用注解@RequestParam(“id”)

   /*
            localhost:8080/postman?id=1234
     */
    @GetMapping
    public void testPost2(@RequestParam("id") Long id){
        System.out.println("接收到的参数"+id);//接收到的参数1234
    }

2.参数在请求体中

1.参数以K-V键值对的形式发送

在这里插入图片描述

后台接收

@PostMapping
public void testPost3(Person person){
   System.out.println("接收到的参数"+person);//接收到的参数Person(name=笑烂脸, age=23, sex=男)
}

2.参数以json对象的形式发送

注:前后端分离的项目,参数一般都是以JSON对象的形式发送

在这里插入图片描述

后台接收

@PostMapping
public void testPost4(@RequestBody Person person){前后端分离的项目,前端传递的数据都是json对象,所以后台想要接受对应的数据,必须要加@RequestBody注解,否则接收不了
    System.out.println("接收到的参数"+person);//接收到的参数Person(name=笑烂脸, age=23, sex=男)
}

上一篇:Java为什么占用四个字节你知道吗

栏    目:JAVA代码

下一篇:聊聊DecimalFormat的用法及各符号的意义

本文标题:springboot控制层传递参数为非必填值的操作

本文地址:http://www.codeinn.net/misctech/196050.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有