0
認証プロバイダ(Auth0)にHTTPリクエストを送信する必要があります。メールアドレスで特定のユーザーを1つ選びたい符号化パラメータを持つRestTemplate
要求はに行かなければならない:私はRestTemplate(春)と私の運を試してみました
curl -H "Authorization: Bearer ..." https://.../users?q=email%3A%22mymail%40abc.de%22&search_engine=v2
:q
パラメータの値をエンコードする必要のよう
public void doSomething() {
...
Map<String, String> requestMap = new HashMap<>();
requestMap.put("q", "email%3A%22mymail%40abc.de%22");
requestMap.put("search_engine", "v2");
RestTemplate restTemplate = getRestTemplateForRequestMap();
HttpHeaders headers = getHeaders();
HttpEntity<Map<String, String>> request = new HttpEntity<>(requestMap, headers);
ResponseEntity<UserInfo[]> response = restTemplate.exchange(URI.create(baseApiUrl + "users"), HttpMethod.GET, request, UserInfo[].class);
...
}
private RestTemplate getRestTemplateForRequestMap() {
RestTemplate restTemplate = new RestTemplate();
List messageConverters = new ArrayList<>();
messageConverters.add(new MappingJackson2HttpMessageConverter());
restTemplate.setMessageConverters(messageConverters);
return restTemplate;
}
が見える(彼らが呼びますそれは "Luceneクエリ構文")。私はさまざまなバリエーションを試しました。私はそれらを "ハードコーディング"してもよい。
結果は、指定された電子メールアドレスを持つユーザーが、すべてのユーザーだけでなく、としてq
パラメータが動作していないようにしかし、それはそうです。 ヘッダーは問題ありません(そうでないと、ユーザーがまったく見つかりません)。
あなたは何かが欠けていますか?メソッドを解決することはできません。私はそのパラメータではできないように見えます。 – mosquito87
いいえ、私は 'org.springframework.http.HttpEntity'、' org.springframework.web.client.RestTemplateを使用しています; 'とURIのtoStringを変換するとき、私はこの方法 –
作業を解決することができます。しかし、私は同じ結果を得ました(指定されたものの代わりにすべてのユーザー)。 – mosquito87