使用WebClient调用含PathVariable和RequestParam的REST接口写法是否正确
结论
你写的WebClient调用代码是正确的,可以正常匹配目标接口的参数规则。
逻辑验证
- 路径参数匹配:代码中通过
.path()方法定义了带{date}占位符的接口路径,调用.build(date)时传入的date值会自动替换路径中的占位符,完全对应接口中通过@PathVariable接收的date参数。 - 查询参数匹配:代码中通过
.queryParam("name", empName)添加的参数,会自动拼接为URL末尾的?name=empName查询串,完全对应接口中通过@RequestParam接收的name参数。
最终生成的请求URL格式完全符合你给出的接口定义:/api/v1/names/officialNameByDate/{实际传入的date值}?name={实际传入的empName值}
补充提示
如果后续遇到同路径下有多个路径占位符的场景,你既可以按占位符出现的顺序在build()方法中依次传入参数值,也可以通过键值对形式传参,例如.build("date", date),两种写法效果完全一致。
内容的提问来源于stack exchange,提问作者Shankar
相关产品推荐
相关产品推荐

