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

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

内容简介:之前的例子里有演示过,控制器(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) – 请求映射》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

JavaScript高级程序设计(第3版)

JavaScript高级程序设计(第3版)

[美] Nicholas C. Zakas / 李松峰、曹力 / 人民邮电出版社 / 2012-3-29 / 99.00元

本书是JavaScript 超级畅销书的最新版。ECMAScript 5 和HTML5 在标准之争中双双胜出,使大量专有实现和客户端扩展正式进入规范,同时也为JavaScript 增添了很多适应未来发展的新特性。本书这一版除增加5 章全新内容外,其他章节也有较大幅度的增补和修订,新内容篇幅约占三分之一。全书从JavaScript 语言实现的各个组成部分——语言核心、DOM、BOM、事件模型讲起,深......一起来看看 《JavaScript高级程序设计(第3版)》 这本书的介绍吧!

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具