- 首页 > 生活 > >
一篇文章带你掌握主流服务层框架——SpringMVC(11)
- 设置请求参数(路径变量)
package com.itheima.controller;import com.itheima.domain.Book;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.*;@Controllerpublic class BookController {// 首先针对我们所需参数给出@PathVariable注解,并在访问路径中采用{}占位表示所传数据// 简单来说就是,系统根据请求路径,得到所需数据,再带入到方法中@RequestMapping(value = "https://www.huyubaike.com/users/{id}" ,method = RequestMethod.DELETE)@RequestBodypublic String delete(@PathVariable Integer id){System.out.println("book delete..." + id);return "{'module':'book delete'}";}}/*名称:@PathVariable类型:形参注解位置:SpringMVC控制器方法形参定义前面作用:绑定路径参数与处理器方法形参间的关系,要求路径参数名与形参名一一对应*/下面我们给出所有情况案例:
package com.itheima.controller;import com.itheima.domain.User;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.*;@Controllerpublic class UserController {//设置当前请求方法为POST,表示REST风格中的添加操作@RequestMapping(value = "https://www.huyubaike.com/users",method = RequestMethod.POST)@ResponseBodypublic String save(){System.out.println("user save...");return "{'module':'user save'}";}//设置当前请求方法为DELETE,表示REST风格中的删除操作//@PathVariable注解用于设置路径变量(路径参数),要求路径上设置对应的占位符,并且占位符名称与方法形参名称相同@RequestMapping(value = "https://www.huyubaike.com/users/{id}",method = RequestMethod.DELETE)@ResponseBodypublic String delete(@PathVariable Integer id){System.out.println("user delete..." + id);return "{'module':'user delete'}";}//设置当前请求方法为PUT,表示REST风格中的修改操作@RequestMapping(value = "https://www.huyubaike.com/users",method = RequestMethod.PUT)@ResponseBodypublic String update(@RequestBody User user){System.out.println("user update..."+user);return "{'module':'user update'}";}//设置当前请求方法为GET,表示REST风格中的查询操作//@PathVariable注解用于设置路径变量(路径参数),要求路径上设置对应的占位符,并且占位符名称与方法形参名称相同@RequestMapping(value = "https://www.huyubaike.com/users/{id}" ,method = RequestMethod.GET)@ResponseBodypublic String getById(@PathVariable Integer id){System.out.println("user getById..."+id);return "{'module':'user getById'}";}//设置当前请求方法为GET,表示REST风格中的查询操作@RequestMapping(value = "https://www.huyubaike.com/users",method = RequestMethod.GET)@ResponseBodypublic String getAll(){System.out.println("user getAll...");return "{'module':'user getAll'}";}}/* 下述为原有代码:@RequestMapping@ResponseBodypublic String delete(){System.out.println("user delete...");return "{'module':'user delete'}";}@RequestMapping@ResponseBodypublic String update(){System.out.println("user update...");return "{'module':'user update'}";}@RequestMapping@ResponseBodypublic String getById(){System.out.println("user getById...");return "{'module':'user getById'}";}@RequestMapping@ResponseBodypublic String getAll(){System.out.println("user getAll...");return "{'module':'user getAll'}";}*/我们在这里给出@RequestBody,@RequestParam,@PathVariable区别
区别:
- @RequestParam用于接收url地址传参或表单传参
- @RequestBody用于接收json数据
- @PathVariable用于接收路径参数,使用{参数名称}描述路径参数
应用:
- 后期开发中,发送请求参数超过1个时,以json格式为主,@RequestBody应用较广
- 如果发送非json格式数据,选用@RequestParam接受请求参数
- 采用RESTful进行开发,当参数数量较少时,如1个,可以采用@PathVariable接收请求路径变量,常用来传递id值
经验总结扩展阅读
-
-
一本情感簿|《闯关东》里的“厄运体”姑娘:这个苦命女人,真的是“作”?
-
植物大战僵尸怎么重新玩(植物大战僵尸通关后重新打)
-
为什么第一眼喜欢的人,做不了朋友?眼缘这种东西,就是很神奇
-
65岁爷爷常去集市买的3款白酒,当时没钱不常喝,现在很难再见了
-
-
-
-
微信聊天照片误删可以恢复吗,微信上好友发的照片误删了怎么恢复
-
-
化妆品|开皮肤管理店,自己不够专业,自主学习没有头绪!
-
蜜蜡对身体有什么好处,佩戴蜜蜡对身体有什么好处 戴蜜蜡有什么好处
-
-
-
在快节奏生活状态下 在快节奏生活状态下,一眼定恋情的人越来越多
-
算命婚姻,2020年下元节后一天是安葬逝者吉日吗,安葬逝者注意什么?
-
-
-
抗癌 获得5倍抗癌功效!把这种食材加入小吃中,抗癌、减肥、护心效果翻倍!
-