7

类中的MaximumUriTagsReachedMeterFilter配置会RestTemplateMetricsAutoConfiguration记录一个警告并停止收集,因为我使用 uriVariables 很糟糕。

问题是我必须使用 uri 变量和查询参数构建 URI,并将其传递给org.springframework.web.client.RestTemplate.exchange. 例如:

String url = "http://foo.example/api/resources/{id}";

// omitting uriVariables and queryParams maps

URI uri = UriComponentsBuilder.fromUriString(url)
        .buildAndExpand(uriVariables)
        .toUri();
uri = UriComponentsBuilder
        .fromUri(uri)
        .queryParams(queryParams)
        .build()
        .toUri();

restTemplate.exchange(
   uri,
   HttpMethod.GET,
   requestEntity,
   new ParameterizedTypeReference<Entity>(){}
);

我真的不知道如何将restTemplate.exchange()参数化字符串 URI 与 uri 变量和查询参数一起传递。这将使检测代码能够只获取一次度量 uri 标记,因为它在 uri 变量扩展之前挂钩。

此外,我正在为自定义 HealthIndicator 使用 RestTemplate 指标。我真的需要解决这个问题。

4

0 回答 0