Я использую приведенную ниже запись в своем приложении Quarkus, и в какой-то момент мне понадобится доступ к полю requestId, расположенному во вложенной записи Statements. Я хочу избежать использования геттеров, предоставляемых вложенными записями, поскольку это приведет к нарушению закона Деметры. Я попытался добавить пятое поле с именем Statements в запись KYAAutoResponse, а затем использовать собственный метод для автоматического получения доступа к requestId, но он возвращает значение null.
Я немного не понимаю, как можно обойти нарушение. Можете ли вы мне помочь?
public record KYAAutoResponse(
DataTransFlowAccessOutputRecord dataTransFlowAccessOutputRecord,
long callSequenceId,
String callSequenceDate
) {
public record DataTransFlowAccessOutputRecord(
Data data
) {
public record Data(
Document document
) {
public record Document(
Statements statements
) {
@JsonInclude(JsonInclude.Include.NON_NULL)
public record Statements(
@JsonProperty("request-id") String requestId,
@JsonProperty("consent_content") String data
) {}
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... va-records
Как решить проблему нарушения закона Деметры в записях Java? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение