Loading

@RequestMapping和@RequestParam和@PathVariable

@RequestMapping注解

@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上

用于上,表示类中的所有响应请求的方法都是以该地址作为父路径

用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法

// 请求地址 http://localhost:8080/a/b
@RequestMapping(value = "/a")
public class Index {
	// 用于方法上,必须有
    @RequestMapping(value = "/b")
    public String idx() {
        return "HelloWorld";
    }
}

则访问路径为http://localhost:8080/a/b,访问该路径就会跳转到HelloWorld页面。

@RequestParam注解

@RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)

语法:@RequestParam(value="参数名",required="true/false",defaultValue="")

value:参数名

required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。

defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值

// 请求地址 http://localhost:8080/search?keywords=张三
public class search {
    // 用于方法上,必须有
    @RequestMapping(value = "/search")
    public String idx(@RequestParam("keywords") String keywords) {
        return keywords;
    }
}

// 请求地址 http://localhost:8080/search
public class search {
	
    @RequestMapping(value = "/search",required=false,defaultValue="李四")
    public String idx(@RequestParam("keywords") String keywords) {
        return keywords;
    }
}

@PathVariable注解

@PathVariable:接收请求路径中占位符的值

通过 @PathVariable 可以将URL中占位符参数{xxx}绑定到处理器类的方法形参中

@GetMapping("/categories/{cid}/books")
public List<Book> listByCategory(@PathVariable("cid") int cid) throws Exception {
    if (0 != cid) {
   	 	return bookService.listByCategory(cid);
    } else {
    	return list();
    }
}
posted @ 2020-07-28 21:56  codeduck  阅读(332)  评论(0编辑  收藏  举报