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;
}

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

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

点关注、不迷路

如果觉得文章不错,欢迎关注点赞收藏,你们的支持是我创作的动力,感谢大家。

如果文章写的有问题,请不要吝啬,欢迎留言指出,我会及时核查修改。

如果你还想更加深入的了解我,可以微信搜索「Java旅途」进行关注。回复「1024」即可获得学习视频及精美电子书。每天7:30准时推送技术文章,让你的上班路不在孤独,而且每月还有送书活动,助你提升硬实力!

spring-boot-route(一)Controller接收参数的几种方式的更多相关文章

  1. SpringBoot Controller接收参数的几种方式盘点

    本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:SpringBoot Controller接收参数的几种方式盘点: SpringBoot Controller接收参数的几种常用方式盘点 ...

  2. spring boot项目获取application配置文件参数的两种方式

    前言:了解过spring boot这个技术的,应该知道spring boot的核心配置文件application.properties,当然也可以通过注解自定义配置文件**.properties的信息 ...

  3. ssh框架总结之action接收参数的三种方式

    页面将参数传递给action的三种方式 一是通过属性传值: 将页面和action的的属性值保持一致,在action上写上该属性的set和get方法,这样在页面提交参数的时候,action就会调用set ...

  4. Spring Boot 定义系统启动任务,你会几种方式?

    在 Servlet/Jsp 项目中,如果涉及到系统任务,例如在项目启动阶段要做一些数据初始化操作,这些操作有一个共同的特点,只在项目启动时进行,以后都不再执行,这里,容易想到web基础中的三大组件( ...

  5. spring boot 在不同环境下读取不同配置文件的一种方式

    在工程中,通常有根据不同的环境读取不同配置文件的需求,对于spring boot 来说,默认读取的是application.yml 或者 application.properties.为了区分不同的环 ...

  6. 记录初学Spring boot中使用GraphQL编写API的几种方式

    Spring boot+graphql 一.使用graphql-java-tools方式 <dependency> <groupId>com.graphql-java-kick ...

  7. jnhs-SpringMVC jsp页面向controller传递参数的五种方式

    一共是五种传参方式: 一:直接将请求参数名作为Controller中方法的形参 public  String login (String username,String password)   : 解 ...

  8. Struts2接收参数的几种方式

    一.用Action属性 在action里定义要接收的参数,并提供相应的set和get方法. 如: public class LoginAction extends ActionSupport { pr ...

  9. strut2接收参数的三种方式

    strut2接收参数有三种方式(普通属性\领域对象\模型驱动),分别对三种进行一个总结: 一.普通属性 Jsp代码 <body> <h1>普通属性</h1> < ...

随机推荐

  1. Python和Nose实现移动应用的自动化测试

    今天跟大家聊的是Python和Nose实现移动应用的自动化测试,希望对你们有帮助,有说的不好的地方,还请多多指教! 采用Appium进行自动化的功能性测试最酷的一点是,你可以使用具有最适合你的测试工具 ...

  2. python练习 - 系统基本信息获取(sys标准库)+ 二维数据表格输出(tabulate库)

    系统基本信息获取 描述 获取系统的递归深度.当前执行文件路径.系统最大UNICODE编码值等3个信息,并打印输出.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮ ...

  3. CefSharp如何判断页面是否加载完

    问题:CefSharp如何判断页面是否加载完毕. 摘要:相信C#用CefSharp做浏览器来发的应该有很多人都会有遇到这个问题.特别是要执行JavaScript的时候,涉及到跨页面的JavaScrip ...

  4. 【Android】SwipeRefreshLayout的简单使用教程。下拉刷新控件炫酷效果。

    作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 首先给大家看一下我们今天这个最终实现 ...

  5. 虚拟机VmWare打开报错,错误提示:VMware Authorization Service is not running!

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing 说明:打开我的虚 ...

  6. Queries for Number of Palindromes(区间dp)

    You've got a string s = s1s2... s|s| of length |s|, consisting of lowercase English letters. There a ...

  7. 2020重新出发,NOSQL,redis高并发系统的分析和设计

    高并发系统的分析和设计 任何系统都不是独立于业务进行开发的,真正的系统是为了实现业务而开发的,所以开发高并发网站抢购时,都应该先分析业务需求和实际的场景,在完善这些需求之后才能进入系统开发阶段. 没有 ...

  8. Oracle中树形查询使用方法

    树形查询一般用于上下级场合,使用的特殊sql语法包括level,prior,start with,connect by等,下面将就实例来说明其用法. 表定义: create table tb_hier ...

  9. OneDrive Weblist

    OneIndex-Serverless 教程:https://zhuanlan.zhihu.com/p/74538287 https://github.com/LiuChangFreeman/OneI ...

  10. markdown基本语法说明

    作为一个java程序员,要接触的东西很多,时不时 就要学习,最近写文档的时候发现,markdown很有意思,就记录下来,作为一个简单的说明和学习 :    1.标题 # 这是一级标题 ## 这是二级标 ...