1、作用:
@RequestParam:将请求参数绑定到你控制器的方法参数上(是springmvc中接收普通参数的注解)
2、语法:
语法:@RequestParam(value=”参数名”,required=”true/false”,defaultValue=””)
value:参数名
required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。
defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值
3、测试程序:
@RestController
@RequestMapping("/API/SEARCH")
public class APISearchController {
@RequestMapping("/getSSLList")
//将域名根据正则操作,返回isLegalText,如果合法,查询数据库,返回数据
public CommonResult getSSLList(String searchText,
@RequestParam(value = "offset", required = false, defaultValue = "0") Integer offset,
@RequestParam(value = "size", required = false, defaultValue = "10")Integer size){
//TODO searchText.trim()与getSearchService方法中的searchText.trim()重复
Map<String, Object> map = getSearchService(searchText.trim(), offset, size);
//校验输入是否合法
boolean isLegalText = (boolean) map.get("isLegalText");
if (!isLegalText){
return CommonResult.failed("输入不合法");
}
SearchService searchService = (SearchService) map.get("searchService");
return CommonResult.success(searchService.getSSLList(searchText));
}
}
4、测试结果
我们会发现虽然size和offset作为我们的参数绑定在控制中上,但是两个参数的defaultValue属性都有默认值,所以即便不指定值,也可以运行成功!