作用是什么?

@RequestMapping是一个用于处理请求地址映射的注解,可标注在类或者方法上。

如何使用?

Springboot使用@RequestMapping来映射前端请求,当前端发来请求时可以通过@RequestMapping来决定由哪个后端方法进行处理。
该注解可以标识在类或方法上,标识在类上,表示该类中的所有响应请求的方法都是以该地址作为父路径,如:@RequestMapping(“/advert”)

@RequestMapping主要由value和method两个属性,value指的是映射路径,method指的是什么请求。如:@RequestMapping(value=“/list”,method=RequestMethod.GET)

@RequestMapping中VALUE的URI可以为以下三类:

(A)可以指定为普通的具体值;

	@RequestMapping(value="/list", method=RequestMethod.GET)
	public String list(SysAdvert advert) {
	}

(B)可以指定为含有变量的值;

	@RequestMapping(value="/{advertId}", method=RequestMethod.GET)
	public AjaxResult getInfo(@PathVariable("advertId") Long advertId) {
    }

(C)可以指定为含正则表达式的值;

	@RequestMapping("/list/{symbolicName:[a-z-]+}-{version:\d\.\d\.\d}.{extension:\.[a-z]}")
	  public void handle(@PathVariable String version, @PathVariable String extension) {    
	    // ...
	  }
	}
1. 如果某个方法只处理请求中必须包含指定的内容类型,怎么办?请设置consumes属性
2. 如果某个方法只处理请求中必须包含某些参数值,怎么办?请设置params属性。

关系与区别

@RequestMapping的简写如下:

@GetMapping = @RequestMapping(method = RequestMethod.GET)
@PostMapping = @RequestMapping(method = RequestMethod.POST)
@PutMapping = @RequestMapping(method = RequestMethod.PUT)

// PATCH方式是对PUT方式的一种补充,PUT更新的是整体,PATCH更新的是局部。
@PatchMapping = @RequestMapping(method = RequestMethod.PATCH)
@DeleteMapping = @RequestMapping(method = RequestMethod.DELETE)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐