SpringMVC详情
@RequestMapping("/hello")
负责用户的请求路径与后台服务器之间的映射关系
如果请求路径不匹配,则用户报错404@ResponseBody
作用: 将服务器的返回值转化为JSON. 如果服务器返回的是String类型,则按照自身返回.新增: post请求类型 @PostMapping("")
删除: delete请求类型 @DeleteMapping("")
修改: put请求类型 @PutMapping("")
查询: get请求类型 @GetMapping("")
1.普通请求
//@Controller //SpringMVC专门扫描的注解
@RestController //@Controller+@ResponseBody
@RequestMapping("/user")
public class HelloController {/*** URL:http://localhost:8080/user/getUser*///@ResponseBody //{id:101,name:"SpringMVC!!"}@GetMapping("/getUser")public User getUser(){User user = new User();user.setId(101);user.setName("SpringMVC!!");return user;}
}
2.get/delete请求带参数
2.1 普通请求_少量参数时,直接接收
/*** URL:http://localhost:8080/user/findUser?id=100&name=tomcat* 规则: SpringMVC中的参数(Integer id,String name)名称,必须与id=100&name=tomcat传递参数名称一致*/@GetMapping("/findUser")@ResponseBodypublic String findUser2(Integer id,String name){return id +":"+name;}
/*** URL地址: http://localhost:8080/user/saveHobby?hobby=篮球,排球,乒乓球* 返回值: 参数获取之后返回* SpringMVC功能:* 如果url中的参数使用,号的方式连接,则可以自动的转化为数组结构*/@GetMapping("/saveHobby")public String[] saveHobby(String[] hobby){return hobby;}
2.2 RestFul请求_少量参数时,直接接收
/*** RestFulurl: http://localhost:8080/user/restFul/1/张三等同于Get请求: http://localhost:8080/user/restFul?id=1&name=张三* 返回值: 返回User对象* 语法:* 1.服务器端参数接收时,变量使用{xx}进行包裹,并且位置固定.* 2.利用@PathVariable注解,动态获取路径中的数据,要求名称必须匹配*/@GetMapping("/restFul/{id}/{name}")public User restFul(@PathVariable Integer id,@PathVariable String name){User user = new User();user.setId(id);user.setName(name);return user;}
2.3 普通请求_参数多时,对象接收
/*** url:http://localhost:8080/user/getUser1?id=1&name=李四&age=18* 返回值: User对象* 要求对象User 的属性必须与参数id=1&name=李四&age=18名称一致,同时必须有Set/Get方法.* SpringMVC会自动的将参数赋值给对象的属性.*/@GetMapping("/getUser1")public User getUser(User user){return user;}
2.4 RestFul请求_参数多时,对象接收
/*** URL: http://localhost:8080/user/restFul2/1/王五/18* RestFul对象接收:* 如果对象的属性与{key}相同,则可以使用对象接收.* 用途: restFul结构 一般用于更新操作*/@GetMapping("/restFul2/{id}/{name}/{age}")public User restFul2(User user){return user;}