Spring Boot教程(6) – 请求映射

栏目: Java · 发布时间: 5年前

内容简介:之前的例子里有演示过,控制器(Controller)里的方法加上@GetMapping注解,就可以处理对应路径上的GET请求了。除了它,还有对应的@PostMapping、@PatchMapping、@PutMapping和@DeleteMapping等等。这些注解都来源于一个更通用的注解@RequestMapping,字面意思就是请求映射。我们来看看它的用法:图中有一个名为method的注解参数,指明了@RequestMapping处理的是GET请求。如果把这个method注解删掉,那么home方法就会处

之前的例子里有演示过,控制器(Controller)里的方法加上@GetMapping注解,就可以处理对应路径上的GET请求了。除了它,还有对应的@PostMapping、@PatchMapping、@PutMapping和@DeleteMapping等等。这些注解都来源于一个更通用的注解@RequestMapping,字面意思就是请求映射。我们来看看它的用法:

Spring Boot教程(6) – 请求映射

图中有一个名为method的注解参数,指明了@RequestMapping处理的是GET请求。如果把这个method注解删掉,那么home方法就会处理发送到”/”路径的所有请求。如果你无意在一个方法里处理多种请求的话,我建议你在注解参数里写明需要处理的HTTP请求类型,或者使用更方便的@GetMapping或者@PostMapping等。

@RequestMapping不仅可以加到方法上,也可以加到类上。加到类上的时候,类中方法所指定的路径都是相对的。

Spring Boot教程(6) – 请求映射

路径变量

一个链接的某个部分可能是动态的,所以你可能需要通过路径变量来获取。@PathVariable就是用来获取路径变量的,路径中的占位符需要用花括号{}包围:

Spring Boot教程(6) – 请求映射

可以看到@GetMapping的路径参数里有占位符“userId”,为了获取到它的值,可以给show方法添加一个参数,并且加上@PathVariable注解,我们可以看到int变量的名字是userId,这样他就会去和路径中的userId占位符匹配。当你像上图那样在浏览器输入地址后,userId变量就获的了值23。23只是我为了演示随便写的数字,他可以是任何数字,只要int存的下。不过要是放个字符串,会提示出错的。

如果你不想让int变量名和占位符名称一样,可以给@PathVariable添加注解参数,这样你的int变量就可以随意重构了,如下。

Spring Boot教程(6) – 请求映射

查询参数

网页链接后面是有可能跟上查询参数(Query Parameter)的,这时需要使用@RequestParam注解,他的用法@PathVariable的用法有些类似,都需要给请求处理方法增加参数。

Spring Boot教程(6) – 请求映射

如果变量名和查询参数的名称一样的话,@RequestParam的注解参数可以省略。图中展示了省略和不省略两种情况。在浏览器中你如果忘了传递userId参数或者传递的不是数字,会报错的。

如果用户忘了传参数,好说,给他个默认值就行:

Spring Boot教程(6) – 请求映射

你也可以使用Optional对象来接受参数,通过isPresent方法判断有没有参数传递过来。注意此时@RequestParam的required参数要设为false。

Spring Boot教程(6) – 请求映射

以上所述就是小编给大家介绍的《Spring Boot教程(6) – 请求映射》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据库索引设计与优化

数据库索引设计与优化

【美】Tapio Lahdenmaki、【美】Michael Leach / 曹怡倩、赵建伟 / 电子工业出版社 / 2015-6 / 79.00元

《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地估算SQL 运行的CPU 时间及执行时间,帮助读者从原理上理解SQL、表及索引结构、访问方式等对关系型数据库造成的影响,并能够运用量化的方法进行判断和优化,指导关系型数据库的索引设计。 《数据库索......一起来看看 《数据库索引设计与优化》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换