Danke für das Feedback - ja, der TVirtualMethodInterceptor ist hier der Lösungsansatz, und ich stimme 100% zu dass ein Assert() auch funktioniert.
Im verlinkten Stackoverflow-Artikel war das Anwendungsbeispiel etwas fortgeschrittener, es sollte ein REST-Request-Parameter extrahiert werden. Durch die Annotation des Parameters mappt man dessen konkreten Wert auf den Anteil des Requests, in dem dieser enthalten ist. Das kann ein Path-, ein
Query- oder ein Body-Parameter sein.
Dann könnte man Methodensignaturen dieser Art verwenden:
Delphi-Quellcode:
[GET]
function TMyResource.GetArtikelbestand([PathParam] ArtikelNr: string; [QueryParam] Farbe: string = ''): TArtikelbestandResponse;
begin
// in ArtikelNr steht nun die aus dem HTTP Request extrahierte Artikelnummer, und in Farbe entsprechend die Artikelfarbe (optional).
end;
Das würde dann aus der
URL z.B. /
api/v1/artikel/12345?farbe=blau die Parameter ermitteln und an die Methode weitergeben. Auch hier wäre ein Intercept notwendig, diesmal ausserdem ein Verändern der Parameterwerte, nicht nur ein Lesen.