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

查看所有标签

猜你喜欢:

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

超级运营术

超级运营术

韩叙 / 中信出版社 / 2017-5

新产品上线,为什么仅仅500次转发能带来300个内测用户? 为什么每一次内容推送,都带来App的一次卸载高峰? 同类活动那么多,怎样做才能超越竞品,占据头条? 为什么有的文案像“小广告”,有的文案像贴心老友? 创业公司与大平台的玩法有何不同? …… 如何从“了解运营”到“精通运营”,可能是运营人*的困惑。《超级运营术》正是对这个问题的全面解答。韩叙总结10年运营......一起来看看 《超级运营术》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码