У меня есть следующий POJO с использованием Immutables + Jackson под капотом:
@JsonInclude(JsonInclude.Include.NON_NULL)
abstract class AbstractQueryRequest {
@JsonProperty("reqid")
public abstract String reqid();
@JsonProperty("rawquery")
public abstract String rawquery();
}
В какой-то момент мне нужно построить еще один объект на основе полей POJO, что-то вроде этой линии:
final HttpUrl.Builder urlBuilder = HttpUrl.parse(cfg.baseUrl()).newBuilder();
urlBuilder.addQueryParameter("reqid", request.reqid())
.addQueryParameter("rawquery", request.rawquery());
Довольно неудобно держать POJO, и этот вызов выровнен по изменениям, мне было интересно, можно ли было программно получить доступ к каждому JsonProperty вместо того, чтобы вводить строку вручную.
Обратите внимание, что это нормальнонаписать геттеры вручную, так как я могу легко выполнить рефакторинг, и у меня есть двойная проверка компилятора, но за строки я беспокоюсь о людях, идущих дальше, и я хотел бы как-то «прочитать» их из класса POJO.