@requestparam @pathvariable @requestbody @param 的区别

一、@requestParam注解
用来获取前台传递过来的参数,例如获取以下链接的参数:
http://api.echos.com/api/item/category/list?pid=1
@requestparam @pathvariable @requestbody @param 的区别
二、@PathVariable注解
路径变量,即获取链接路径上的变量,使用restful风格(groups/{cid})时,经常使用,用来进行参数绑定。
链接:http://api.ehos.com/api/item/groups/1
实例代码:
@requestparam @pathvariable @requestbody @param 的区别
上面代码把restful中的变量cid的值,绑定到方法的参数上。且若参数名和需要绑定的restful中变量名称不一致,需要在@PathVariable(“cid”) Long cid上绑定restful中的名称。
三、@RequestBody注解
一般用来处理content-type:"application/json,application/xml"两种请求数据,并且能够自动将传递过来的变量绑定到指定类,不用一个一个接收。
前台传递的参数为:
在这里插入图片描述
@requestparam @pathvariable @requestbody @param 的区别

代码示例:
@requestparam @pathvariable @requestbody @param 的区别
四、@Param注解
常用在sql语句中,实例代码:
@requestparam @pathvariable @requestbody @param 的区别
此代码是多对多关系的中间表,需要俩个参数。以下是serivce的代码:
@requestparam @pathvariable @requestbody @param 的区别