@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。
通过类路径和方法路径结合访问controller方法
当@RequestMapping 标记在Controller 类上的时候,里面使用@RequestMapping
标记的方法的请求地址都是相对于类上的@RequestMapping 而言的;当Controller
类上没有标记@RequestMapping 注解时,方法上的@RequestMapping
都是绝对路径。这种绝对路径和相对路径所组合成的最终路径都是相对于根路径“/ ”而言的。
总之,这个注解的作用是完成了 url到控制器方法的映射。
- 常规使用:类路径+方法路径
@Controller
// 这个注解在返回非视图的对象时使用
@ResponseBody
@RequestMapping(“/user”)
public class UserController {
@RequestMapping(“/name”)
public String name(){
return “jsy”;
}
@RequestMapping(“/age”)
public int age(){
return 18;
}
}
启动服务器后,访问 http://localhost:8080/user/name 。
- URL模板
为了取出URL模板中的 参数,需要使用@PathVariable
注解,下面会细讲。
@Controller
// 这个注解在返回非视图的对象时使用
@ResponseBody
@RequestMapping(“/user/”)
public class UserController {
@RequestMapping(“/name/{p1}”)
public String name(@PathVariable String p1){
return “我叫”+p1;
}
}
- 正则匹配
举一个最简单的例子:通配符*
如@RequestMapping("*/user/")
会匹配到/test/user/
等等。
- value
指定请求的实际地址,指定的地址可以是URI Template 模式
- method
指定请求的method类型, GET、POST、PUT、DELETE等。也就是窄化了请求范围
根据上面的method
属性,可以直接使用@RequestMapping
的衍生注解:
-
@GetMapping 等同于 @RequestMapping(method = RequestMethod.GET)
-
@PostMapping 等同于 @RequestMapping(method = RequestMethod.POST)
-
@PutMapping 等同于 @RequestMapping(method = RequestMethod.PUT)
-
@DeleteMapping 等同于 @RequestMapping(method = RequestMethod.DELETE)
-
@PatchMapping 等同于 @RequestMapping(method = RequestMethod.PATCH)
等等。
=============================================================================
用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数。
@Controller
// 这个注解在返回非视图的对象时使用
最后
很多程序员,整天沉浸在业务代码的 CRUD 中,业务中没有大量数据做并发,缺少实战经验,对并发仅仅停留在了解,做不到精通,所以总是与大厂擦肩而过。
我把私藏的这套并发体系的笔记和思维脑图分享出来,理论知识与项目实战的结合,我觉得只要你肯花时间用心学完这些,一定可以快速掌握并发编程。
不管是查缺补漏还是深度学习都能有非常不错的成效,需要的话记得帮忙点个赞支持一下
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~