@RequestParam,@PathParam,@PathVariable,@QueryParam注解的使用区别

Posted mobaids

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@RequestParam,@PathParam,@PathVariable,@QueryParam注解的使用区别相关的知识,希望对你有一定的参考价值。

       获取url模板上数据的(/{id})@DefaultValue 获取请求参数的(包括post表单提交)键值对(?param1=10&param2=20)、可以设置defaultValue
JAX-RS @PathParam @QueryParam
Spring @PathVariable @RequestParam

有一次的请求是 :

http://localhost:8080/system/getMenuListPage?level=0&parent_id=0&_=1532879287887

后台返回400 BadRequest  。

接收用的

	@RequestMapping(value = "getMenuListPage", method= RequestMethod.GET,produces = "text/html;charset=UTF-8")
	@ResponseBody
	public String getMenuListPage(Menu menu, @RequestParam(value="pageNumber") Integer pageNumber,
			@RequestParam(value="pageSize") Integer pageSize){  

将@RequestParam 用 @QueryParam 替换后就返回 200.

 

 

@RequestParam 和 @PathVariable 注解是用于从request中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从request里面拿取值,而 @PathVariable 是从一个URI模板里面来填充。

以上是关于@RequestParam,@PathParam,@PathVariable,@QueryParam注解的使用区别的主要内容,如果未能解决你的问题,请参考以下文章

@PathVariable和@RequestParam的区别

Spring boot 常见注解

为啥使用 PathVariable 而不是 PathParam?

何时使用 @QueryParam 与 @PathParam

使用 @pathparam 和 @requestmapping 获取 null

RestAssured 获取请求中的 pathParam() 方法出现红色下划线错误以及如何解决此问题