web层类注解
@RestControlle
- @RestController = @Controller + @ResponseBody组成
- @Controller 将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化。当然也有语义化的作用,即代表该类是充当Controller的作用
- @ResponseBody 它的作用是指该类中所有的API接口返回值,不论是Map或是其他Object,它会以Json字符串的形式返回给客户端,但返回值如果是String类型,则仍然是以String类型返回。
关于请求参数
@PathVariable
@PathVariable 映射 URL 绑定的占位符
带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义
通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx“) 绑定到操作方法的入参中。
- 例子
//@PathVariable可以用来映射URL中的占位符到目标方法的参数中
@RequestMapping("/testPathVariable/{id}")
public String testPathVariable(@PathVariable("id") Integer id)
{
System.out.println("testPathVariable:"+id);
return SUCCESS;
}
@PathVariable与RequestParam的区别
- @RequestParam 汉语意思就是: 请求参数。顾名思义 就是获取参数的。
/Springmvc/user/page.do?pageSize=3&pageNow=2
pageSize和pageNow应该是属于参数而不是路径,所以应该添加@RequestParam的注解。
- @PathVariable 汉语意思是:路径变量。顾名思义,url路径中获取变量。
@RequestMapping(value="/emp/{id}")
这里的id是路径中的变量,应使用@pathVariable
required = false
@RequestParam(value = "pageNum", required = false,defaultValue = "") Integer pageNum)
- value 是传参;
- required :这个参数是否一定有值
- true是一定有,不写默认为true
- false是可以没有,如果为false一般设置默认值
- defaultValue,设置参数pageNum的默认值