如何在Micronaut中使用许多可选参数实现声明性HTTP客户端?

时间:2018-12-29 13:53:15

标签: rest micronaut

我想使用Micronaut的声明性HTTP客户端与REST API交互,该REST 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());

这不容易使用。更好(IMHO)应该是

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

是否有一种方法可以对Micronaut的声明性客户端进行“开箱即用”的操作?

0 个答案:

没有答案