springboot源码中的注解请详见源码分析。https://www.cnblogs.com/zys2019/p/13848141.html
1.@RequestMapping
1.1说明
用来处理请求地址映射,可用于类或方法上。用于类上时,表示类中的所有响应请求的方法都是以该地址作为父路径。
1.2用例
1)用在类上
@RestController @RequestMapping("/kaptcha") public class KaptchaController { ...... }
在访问此接口时,每个请求就必须带上路径kaptcha。
2)用在方法上
@RestController @RequestMapping("/kaptcha") public class KaptchaController { @RequestMapping("/test") public String test(){ return "test 注解"; } ...... }
访问路径就是“/kaptcha/test”。用在方法上时,可以指定请求的方式(method),如果不指定则任意类型均可请求,指定后只能通过对应的请求方式才能访问。
//get请求访问 @RequestMapping(value="/test",method = RequestMethod.GET) //post请求访问 @RequestMapping(value="/test",method = RequestMethod.POST)
2.@RequestBody
2.1说明
用来接收前端传递给后端的json字符串中的数据,且必须是post或put请求。
2.2用例
实体类
@Data public class User { private String name; private String password; private Integer age; }
接口
@RestController public class KaptchaController { @RequestMapping(value = "/test") public String test(@RequestBody User user){ System.out.println(user.toString());//User(name=张三, password=123, age=20) return "test 注解"; } }
发送测试数据,json串如下:
{ "name": "张三", "age": 20, "password": "123" }