API 参数总结


常见问题

1、每种类型的参数能有几个?

只有 Body 参数只能有一个,其他都可以有多个

2、参数能否不传

这个是根据注解中的 required 参数来判断的。如果你不加注解,都不是必传。如果你加了注解,默认都是必传

3、我什么时候用哪种类型的参数

  • 查询详情的 API 一般用 路径参数,将 id 作为参数
  • 对于汇总查询的 API ,一般用 body 参数
  • 集合类型的参数(List,Set)。使用 body 参数,因为 query 参数有长度限制,加起来最长为300到1000字符。浏览器不同长度限制也不同。所以建议集合类型参数放在Body 参数里。
  • 存在特殊字符的参数,比如=, / 。使用 body 参数,因为路径参数和 query 参数都放在 url 上的,url 有自己的关键字。特殊字符容易起冲突。

4、@PathVariable 注解加和不加的区别

加和不加没什么区别。只是 @PathVariable 可以对参数改名,可以限制参数是否必填。注意:@PathVariable 这个加上后,那个参数是默认设置为必填了,可以通过 required 参数进行设置。

一、参数类型

路径参数、query 参数、body 参数

二、路径参数

1、页面请求位置

前面的参数

2、代码

需要在参数前加一个 @PathVariable

3、注意

  • 路径参数可以有多个
  • 路径参数最好不要是字符串,因为字符串在url中有限制,特殊字符传输会出问题
  • @PathVariable(“organizationId”) Long tenantId;可以通过这种方式,对路径参数进行改名

三、query 参数

1、页面请求位置

后面的参数

2、代码

@RequestParam,可加可不加

3、注意

  • query 参数有长度限制,加起来最长为300到1000字符。浏览器不同长度限制也不同。所以建议集合类型参数放在Body 参数里。
  • @RequestParam 的参数 required 默认是true,就是 @RequestParam Long id。那这个id就是必输的了
  • query 参数可以有多个
  • @RequestParam 注解有没有都一样
  • @RequestParam 也可以对传进来的参数进行改名。@RequestParam(“ids”) Long id。ids 是请求中的参数,id 是转换后的参数

四、body 参数

1、页面请求位置

负载里面
在这里插入图片描述

2、代码

@RequestBody

3、注意

  • 只有 Post 请求才能有
  • 只能有一个 Body 参数
  • 被 @RequestBody 修饰的参数不能为 null
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值