feignclient url_如何在FeignClient中使用多个查询字符串参数调用url?

I try to call Google API with multiple query string parameters. And curiously, I can't find a way to do that.

This is my FeignClient :

@FeignClient(name="googleMatrix", url="https://maps.googleapis.com/maps/api/distancematrix/json")

public interface GoogleMatrixClient {

@RequestMapping(method=RequestMethod.GET, value="?key={key}&origins={origins}&destinations={destinations}")

GoogleMatrixResult process(@PathVariable(value="key") String key,

@PathVariable(value="origins") String origins,

@PathVariable(value="destinations") String destinations);

}

The problem is that '&' character of the RequestMapping value is replace by &

How to avoid this ?

Thanks !

解决方案

All Query parameters will automatically be extracted from the url by a split using the & character and mapped to the corresponding @RequestParam in the method declaration.

So you don't need to specify all the keys the @RequestMapping annotation and there you should only specify the endpoint value.

For your example to work you just need to change your rest-endpoint to

@RequestMapping(method=RequestMethod.GET)

GoogleMatrixResult process(@RequestParam(value="key") String key,

@RequestParam(value="origins") String origins,

@RequestParam(value="destinations") String destinations);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值