複数のクエリ文字列パラメータを使用してGoogleAPIを呼び出そうとしています。そして不思議なことに、私はそれを行う方法を見つけることができません。
これは私の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);
}
問題は、RequestMapping value
の '&'文字が&
に置き換えられることです。
これを回避する方法は?
ありがとう!
すべてのクエリパラメータは、&
文字を使用した分割によってURLから自動的に抽出され、メソッド宣言の対応する@RequestParamにマップされます。したがって、@ RequestMappingアノテーションのすべてのキーを指定する必要はなく、エンドポイント値のみを指定する必要があります。
あなたの例が機能するためには、RESTエンドポイントをに変更する必要があります
@RequestMapping(method=RequestMethod.GET)
GoogleMatrixResult process(@RequestParam(value="key") String key,
@RequestParam(value="origins") String origins,
@RequestParam(value="destinations") String destinations);