@ZrobieDobrze:
Póki co, problem wyobrażam sobie tak, że następuje strzał z frontu do jakiegoś backednowego endpointa. Następnie dane są deserializowane do jakiegoś ZamowienieDTO, które czasami ma odbiorca==null
, a czasami coś innego - zależy od kontekstu (czyli de facto od interfejsu, do którego następuje strzał). I tu gdzieś wkraczają adnotacje, które mają rozwiązywać pewien problem, który nie do końca rozumiem. Jak te @ConditionalReadOnly
miałyby działać?
- Kto miały być konsumentem tego czy reguła odpaliła, czy nie ?
- Co miałby robić z taką informacją?
Bez ConditionalReadOnly
, wyobrażam sobie, że gdzieś następuje zamiana DTO na coś bardziej namacalnego typu ZamowienieDoAnulowania, ZamowienieDoWyszukania, które może nie mieć odbiorcy, ale ma nr zamówienia i to jest wystarczające do realizacji scenariusza biznesowego "Anuluj zamówienie", "Wyszukaj zamówienie", ale nie jest wystarczające do zarejestrowania NoweZamowienie (czyli DTO z odbiorca==null
ma rację bytu jeśli przyszło przez /orders/status, ale nie ma racji bytu np. dla /orders/newOrder - URLe od czapy, więc nie skupiałbym się detalach).
Z ConditionalReadOnly
mam wrażenie, że dla różnych caseów operujsz na Zamowienie, niezależnie od kontekstu i czasem to rodzi problemy.