接口入参--注解

注解使用:
@RequestParam("前端的名称") 加了如果参数没传就报参数错误。没加就都可以访问。

@RequestMapping("/list")
public String test(@RequestParam Long parentId) {

}
@RequestMapping("/list")
public String test( Long parentId) {

}

第一种必须带有参数,也就是说你直接输入localhost:8080/list 会报错 不会执行方法 只能输入localhost:8080/list?parentId=? 才能执行相应的方法

第二种 可带参数也可不带参数 就是说你输入 localhost:8080/list 以及 localhost:8080/list?parentId=? 方法都能执行
当然你也可以设置 @RequestParam 里面的required为false(默认为true 代表必须带参数) 这样就跟第二种是一样的了

@RequestMapping("/list")
public String test(@RequestParam(value="id") Long parentId) {
..
}
这样会用id 代替parentId 也就是说你地址里面传入的参数名称为id localhost:8080/list?id=? 这种


----因此综上所述,如果为get请求时,后台接收参数的注解应该为RequestParam,如果为post请求时,则后台接收参数的注解就是为RequestBody。

----另外,还有一种应用场景,接口规范为resultful风格时,举个例子:如果要获取某个id下此条问题答案的查询次数的话,则后台就需要动态获取参数,其注解为@PathVariable,并且requestMapping中的value应为value="/{id}/queryNum",

@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。

 

@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写

转载于:https://www.cnblogs.com/lcfeiyu/p/10160361.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值