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

网友投稿 2207 2022-11-29

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

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

目录springboot控制层传递参数为非必填值Controller层接收参数的形式1.参数存在于请求路径中2.参数在请求体中

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对象,所以后台想要接受对应的http://数据,必须要加@RequestBody注解,否则接收不了

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

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Problem A: 大整数的加法运算
下一篇:Problem D: 不同交通工具的速度
相关文章

 发表评论

暂时没有评论,来抢沙发吧~