最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
使用controller传boolean形式值代码示例
时间:2022-06-29 01:52:19 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下使用controller传boolean形式值代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
controller传boolean形式值
@GetMapping("/check-cart")
public List checkCart(@RequestParam(value = "requirePrice", required = false) boolean requirePrice) {
return service.checkCart(requirePrice);
}
controller传入boolean类型的值,参数为非必填
我们可以传三种类型
http://*&*#3*1471;口:ip/cart/check-cart
http://*&*#3*1471;口:ip/cart/check-cart?requirePrice=true
http://*&*#3*1471;口:ip/cart/check-cart?requirePrice=false
这三种都可以。
其他如:
http://*&*#3*1471;口:ip/cart/check-cart?requirePrice=
http://*&*#3*1471;口:ip/cart/check-cart?requirePrice=111
都会报错
controller层接收各种参数和文件
在构建一个系统时,前端和后台总是需要对接,在springmvc架构里,这种对接一般发生在Controller层中。方法参数绑定首先支持Java所有基本类型(包括: byte、short、int、long、float、double、char、string、boolean),以及基本类型对应封装高级类(包括:StringBuilder、StringBuffer),也包含 了我们自己定义的各种JavaBean类型。接受的方式有很多,但是也要在接受数据时也要体现面向对象的思想。
简单传入
以用户登陆为例,在前台传入数据,做一个传入的例子。
前台传入数据的形式为 username=10&password=10
在这种情况下,如何在后台进行接受呢?可以采用如下的方法。
@ResponseBody
@RequestMapping("/simple")
public R list(String name,String age){
System.out.println("name:"+name+",age:"+age);
return R.ok();
}
当然也可以采用HttpServeletRequest的形式进行接受
@ResponseBody
@RequestMapping("/simple")
public R requestGet(HttpServletRequest request){
System.out.println("reqname:"+request.getParameter("name")+",reqage:"+request.getParameter("age"));
return R.ok();
}
以json对象的形式传入
还是以用户登陆为例,在前台传入数据,做一个传入的例子。
这种情况下,controller层建议使用对象的形式进行接受。
@ResponseBody
@RequestMapping("/classGet")
public R classGet(@RequestBody TestEntity testEntity){
System.out.println("className:"+testEntity.getName()+"classAge:"+testEntity.getAge());
return R.ok();
}
在传参时,需要添加注解@RequsetBody用来接收contentType为application/json的传入对象。如果传过来的时contentType头为application/x-www-form-urlencoded,那么建议使用另外一个注解接受@RequestParam来接受。
@RequestMapping("/requesetParamGet")
public R addUser6(@RequestParam("username") String username,@RequestParam("password") String password) {
System.out.println("username is:"+username);
System.out.println("password is:"+password);
return R.ok();
}
如果啥都不写,那么就得不到这个对象,接受到的对象为NULL。
当然,你可以不接受为一个对象,可以把传过来的json对象转化为json字符串,然后用各种工具进行解析,也是可以的。当然也是要加上@RequestBody或者@RequestParam的。
@ResponseBody
@RequestMapping("/stringGet")
public R stringGet(@RequestBody String string){
System.out.println("String:"+string);
return R.ok();
}
文件传输
在项目中,文件上传有别于对象的上传。
在后台接受参数的例子:
@RequestMapping("/fileUpload")
@ResponseBody
public R upload(MultipartFile multipartFile){
String filePath="";
if(!multipartFile.isEmpty()){
System.out.println(multipartFile.getOriginalFilename());
}
return R.ok().put("filePath",filePath);
}
@RequestMapping("/fileUpload2")
@ResponseBody
public R upload2(@RequestParam("multipartFile") MultipartFile multipartFile){
String filePath="";
if(!multipartFile.isEmpty()){
System.out.println(multipartFile.getOriginalFilename());
}
return R.ok().put("filePath",filePath);
}
@RequestMapping("/fileUpload3")
@ResponseBody
public R upload3(@RequestBody MultipartFile multipartFile){
String filePath="";
if(!multipartFile.isEmpty()){
System.out.println(multipartFile.getOriginalFilename());
}
return R.ok().put("filePath",filePath);
}
这里需要注意一点,文件名必须和参数名保持一致,在本项目中file文件的名字必须为multipartFile。
相关文章
- 流放之路2泰坦众神之锤BD玩法攻略分享 10-25
- 流放之路2各种简称含义 局内黑话汇总 10-25
- 流放之路2召唤斧头帮BD玩法攻略分享 10-25
- 流放之路2异界爆率提升方法攻略分享 10-25
- 燕云十六声泥犁三垢武学获取方法分享 10-25
- 燕云十六声积矩九剑武学获取方法分享 10-25