RestController注解的使用
@RestController 等同于 @Controller和@ResponseBody
在某个方法上写@RestController ,则此方法的return返回的是json
@RestController
public class HelloController {
@RequestMapping(value="/hello",method= RequestMethod.GET)
public String sayHello(){
return "hello";
}
}
//上面代码等价于下面代码
@Controller
@ResponseBody
public class HelloController {
@RequestMapping(value="/hello",method= RequestMethod.GET)
public String sayHello(){
return "hello";
}
}
@RequestMapping 配置url映射
@RequestMapping此注解即可以作用在控制器的某个方法上,也可以作用在此控制器类上。
几种参数绑定
- 1.无参类型
@RequestMapping(value="/helloparam2",method= RequestMethod.GET)
public String helloParam(){
return "hello";
}
- 2.PathVariable参数绑定
用来获得请求url中的动态参数的 是从一个URI模板里面来填充
通过http://localhost:8080/helloparam/3 来访问
@RequestMapping(value="/helloparam/{id}",method= RequestMethod.GET)
public String helloParam(@PathVariable("id") Integer id){
return "id:"+id;
}
- 3.RequestParam参数绑定
@RequestParam 是从request里面拿取值
通过http://localhost:8080/helloparam?id=3 来访问
@RequestMapping(value="/helloparam3",method= RequestMethod.GET)
//第一个id是与url地址参数相对应,第二个myid随意起名字
//设置默认值,若不传id,则使用默认值
public String helloParam3(@RequestParam(value = "id", required = false, defaultValue = "0") Integer myid){
return "id:"+myid;
}
//若没有required = false, defaultValue = "0",则代表未设置默认值
@GetMapping 简化@RequestMapping书写
@GetMapping则代表get方式请求
@PostMapping则代表post方式请求
后续会说到以下几种
@PutMapping
@DeleteMapping
//简化@RequestMapping书写
@GetMapping(value = "/helloparam4")
public String helloParam4(@RequestParam(value = "id", required = false, defaultValue = "0") Integer myid){
return "id:"+myid;
}