2

我想使用 Micronaut 的声明式 HTTP 客户端与 REST API 进行交互,该 API 在其 GET 方法中有许多可选的查询参数。

示例:有一个获取警报的 API,其中将返回的警报指定为查询参数。我可以通过以下方法使用 API:

@Client("/alarm/alarms")
public interface AlarmApi {
  @Get 
  Single<Alarms> getAlarms(Optional<String> source, Optional<OffsetDateTime> from, Option<OffsetDateTime> to, Optional<Status> status, Optional<Severity> severity, Optional<Integer> pageSize, Optional<Boolean> order);

并使用查询它

alarms = alarmApi.getAlarms(source, Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), Optional.of(2000), Optional.empty());

这并不容易使用。更好的(恕我直言)会有类似的东西

alarm = alarmApi.getAlarms().source(source).pageSize(2000);

有没有办法用 Micronaut 的声明式客户端做这样的“开箱即用”的事情?

4

0 回答 0