spring boot 上传文件_spring-boot-route(一)Controller接收参数的几种方式

Controller接收参数的常用方式总体可以分为三类。第一类是Get请求通过拼接url进行传递,第二类是Post请求通过请求体进行传递,第三类是通过请求头部进行参数传递。1 @PathVariable接收参数请求方式:localhost:7001/param/123请求示例:代码示例:@GetMapping("{id}")
public String getPathVariable(@PathVariable String id){
return "id="+id;
}
2 @RequestParam接收参数使用这个注解需要注意两个点,一是加了这个参数后则请求中必须传递这个参数,二是@RequestParam这个注解可以指定名字,请求参数必须和指定的这个名字相同,如果不指定,则默认为具体参数名。请求方式:localhost:7001/param/getParam?myId=18请求示例:代码示例:@GetMapping("getParam")
public String getRequestParam(@RequestParam("myId") String id){
return "id="+id;
}
3 无注解传参这种方式和2对比,最大的区别就是这个参数不是必传的,请求路径上可以不传递。请求方式:localhost:7001/param/getString?id=18请求示例:代码示例:@GetMapping("getString")
public String getString(String id){
return "id="+id;
}
4 HttpServletRequest接收参数请求方式:localhost:7001/param/getRequest?id=18请求示例:代码示例:@GetMapping("getRequest")
public String getRequest(HttpServletRequest request){
String id = request.getParameter("id");
return "id="+id;
}
5 @RequestBody接收请求体参数这种方式一般用来传递实体对象,加了这个注解后,参数也是必传的。请求方式:{"id":18}请求示例:代码示例:@PostMapping("getBody")
public String getBody(@RequestBody String id){
return "id="+id;
}
6 @RequestHeader接收请求头参数请求示例:代码示例:@PostMapping("getHeader")
public String getHeader(@RequestHeader String id){
return "id="+id;
}

1 @PathVariable接收参数

请求方式:localhost:7001/param/123

请求示例:

3177eed5bf893f5d9901f5b8ea248e62.png

代码示例:

@GetMapping("{id}")
public String getPathVariable(@PathVariable String id){
    return "id="+id;
}

2 @RequestParam接收参数

使用这个注解需要注意两个点,一是加了这个参数后则请求中必须传递这个参数,二是@RequestParam这个注解可以指定名字,请求参数必须和指定的这个名字相同,如果不指定,则默认为具体参数名。

请求方式:localhost:7001/param/getParam?myId=18

请求示例:

7e8c296affd62f0f7e67c3fb4177903a.png

代码示例:

@GetMapping("getParam")
public String getRequestParam(@RequestParam("myId") String id){
    return "id="+id;
}

3 无注解传参

这种方式和2对比,最大的区别就是这个参数不是必传的,请求路径上可以不传递。

请求方式:localhost:7001/param/getString?id=18

请求示例:

517707861efdc855a4e9f582afa7e6c3.png

代码示例:

@GetMapping("getString")
public String getString(String id){
    return "id="+id;
}

4 HttpServletRequest接收参数

请求方式:localhost:7001/param/getRequest?id=18

请求示例:

3c9931ce87145514ffea71985c719ef0.png

代码示例:

@GetMapping("getRequest")
public String getRequest(HttpServletRequest request){
    String id = request.getParameter("id");
    return "id="+id;
}

5 @RequestBody接收请求体参数

这种方式一般用来传递实体对象,加了这个注解后,参数也是必传的。

请求方式:{"id":18}

请求示例:

4370fa1d3cef0f8d357f009377d940cf.png

代码示例:

@PostMapping("getBody")
public String getBody(@RequestBody String id){
    return "id="+id;
}

6 @RequestHeader接收请求头参数

请求示例:

4cde99c7d4eb5c78a275a706f3827c87.png

代码示例:

@PostMapping("getHeader")
public String getHeader(@RequestHeader String id){
    return "id="+id;
}



此是spring-boot-route系列的第一篇文章,这个系列的文章都比较简单,主要目的就是为了帮助初次接触Spring Boot 的同学有一个系统的认识。本文已收录至我的github,欢迎各位小伙伴star

github:https://github.com/binzh303/spring-boot-route


本文示例代码已上传至github,点个star支持一下!

Spring Boot系列教程目录

spring-boot-route(一)Controller接收参数的几种方式

spring-boot-route(二)读取配置文件的几种方式

spring-boot-route(三)实现多文件上传

spring-boot-route(四)全局异常处理

spring-boot-route(五)整合Swagger生成接口文档

spring-boot-route(六)整合JApiDocs生成接口文档

spring-boot-route(七)整合jdbcTemplate操作数据库

spring-boot-route(八)整合mybatis操作数据库

spring-boot-route(九)整合JPA操作数据库

spring-boot-route(十)多数据源切换

spring-boot-route(十一)数据库配置信息加密

spring-boot-route(十二)整合redis做为缓存

spring-boot-route(十三)整合RabbitMQ

spring-boot-route(十四)整合Kafka

spring-boot-route(十五)整合RocketMQ

spring-boot-route(十六)使用logback生产日志文件

spring-boot-route(十七)使用aop记录操作日志

spring-boot-route(十八)spring-boot-adtuator监控应用

spring-boot-route(十九)spring-boot-admin监控服务

spring-boot-route(二十)Spring Task实现简单定时任务

spring-boot-route(二十一)quartz实现动态定时任务

spring-boot-route(二十二)实现邮件发送功能

spring-boot-route(二十三)开发微信公众号

这个系列的文章都是工作中频繁用到的知识,学完这个系列,应付日常开发绰绰有余。如果还想了解其他内容,请在github上提交issue,我会进一步完善这个系列的文章!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值