唉第一次用说多了都是泪,但是上手还是嗖嗖的,总结下第一次用的坑吧
注意:
ctroller:每个方法前面需要mapping 映射url,这个url全局唯一
一、 如果想用一个url则需要满足:
1、参数不一样,通过@pathVariable 绑定参数 个数
如:
@RequestMapping(value = "/param3/{name}/{sex}",method = RequestMethod.GET) //注意多参数 public UserInfo resetUserInfo(@PathVariable String name,@PathVariable String sex){
等价于==
@RequestMapping(value = "/param3?{name}&{sex}",method = RequestMethod.GET) //如果需要&链接需要在?后面 public UserInfo resetUserInfo(@PathVariable String name,@PathVariable String sex){
@RequestMapping(value = "/param3", method = RequestMethod.GET) public UserInfo getUserInfo(){2、改变http请求方式
@RequestMapping(value = "/param3", method = RequestMethod.GET) public UserInfo getUserInfo(){、
@RequestMapping(value = "/param3", method = RequestMethod.POST) public UserInfo getUserInfo(){
二、传递参数方式,在参数传递同时如果参数可以缺失不写则需要在
当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,
例如: @RequestParam(value="a", required=false)
/*** * 传递http请求参数 * @param name * @param sex * @return */1、 @RequestMapping(value = "/param3",method = RequestMethod.POST) public UserInfo resetUserInfo1( String name, String sex){}还有一种没搞明白,通过百度明白了@RequestParam和@PathVariable区别2、在spring MVC中,两者的作用都是将request里的参数的值绑定到contorl里的方法参数里的,区别在于,URL写法不同。
使用@RequestParam时,URL是这样的:http://host:port/path?参数名=参数值
使用@PathVariable时,URL是这样的:http://host:port/path/参数值
如访问:
http://localhost:8080/param3?name=1
http://localhost:8080/param3/1
3、可以传递实体类对象(5个参数以上可以选择)