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) – 请求映射》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

断层地带

断层地带

杰弗里·摩尔 (Geoffrey A.moore) 著 / 季晓楠,凌炜 译 / 机械工业出版社 / 2009-1 / 33.00元

从股东权益谈起,并把“股东权益管理”作为根本立场,明确阐述了公司市场价值的内涵:在竞争环境中,公司的市场价值等于在当前和计划的生产经营活动下,未来可预计的收益用风险系数贴现后的现值。断层地带:经济中的危险境地,在这里勇敢的创新者给市场带来了惨烈的竞争,撕杀得天昏地暗。每家公司都处在这样的环境中,但是没有一个管理者能够控制它。一起来看看 《断层地带》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

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

RGB CMYK 互转工具