15

複数のクエリ文字列パラメーターを使用して Google API を呼び出そうとしています。そして不思議なことに、私はそれを行う方法を見つけることができません。

これは私の 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&

これを回避するには?

ありがとう !

4

2 に答える 2

27

すべてのクエリ パラメータは、文字を使用した分割によって URL から自動的に抽出され、メソッド宣言&の対応するパラメータにマップされます。@RequestParam

@RequestMappingしたがって、アノテーションのすべてのキーを指定する必要はなく、エンドポイント値のみを指定する必要があります。

例を機能させるには、rest-endpoint を次のように変更するだけです。

@RequestMapping(method=RequestMethod.GET)
GoogleMatrixResult process(@RequestParam(value="key") String key,
                           @RequestParam(value="origins") String origins,
                           @RequestParam(value="destinations") String destin);
于 2016-12-05T09:11:31.440 に答える
-9

**これを使って:-

 RequestMapping(method=RequestMethod.GET, value="/test/{key}/{origins}/{destinations}")
        GoogleMatrixResult process(@PathVariable("key") String key,
                                   @PathVariable("origins") String origins,
                                   @PathVariable("destinations") String destinations);

次に、フォームの URL を次のように入力します:-
http://localhost:portnumber/.../key-value/origins-value/destinations-value を入力してこの URL にアクセスすると、@PathVariable アノテーションを使用してうまくいくと確信しています**

于 2016-12-05T10:43:33.083 に答える