ASP.NET CORE Minimal API je ešte stále relatívna novinka, ktorá okolo seba nesie veľkú diskusiu o tom či je to dobrý alebo zlý koncept.
Ako pri väčšine si myslím, že pravda je niekde uprostred a je to závislé od toho čo chceme robiť. Minimal API je skvelý spôsob ako vytvoriť svoje prvé API. Žiadne komplikované triedy, nastavovanie. Jeden súbor, pár riadkov a je to.
S tymto som bojoval, skusam produkcny projekt s Minimal API. Zo zvyku som pouzil validacne atributy. NSwag ich zobral spravne, ale nevalidovali. tak som hladal sposoby ako na to a vsade sa spominalo len FluentValidation. No mam pocit, ze to prosto nie je ono a kvoli trom endpointom som mal vela prace (nehovoriac o tom, ze FluentValidation nema defaultne validaciu maximalnej dlzky byte[]).
My väčšinou používame Fluentvalidation a v naších scenárom nám to vyhovuje.
Pôvodné Model Validation je pevnou súčasnou MVC, preto nebolo podporené v Minimal API. Minulý rok som videl na GitHub-e proposal na návrhu vstavanej podpory validácie. Malo to byť zahrnuté do roadmapy pre ASP.NET 9, ale teraz som to pozeral a už nevidím
Či je FluentValidation kompatibilné s AOT neviem, snažil som sa o tom niečo nájsť, ale nenašiel som žiadnu zmienku. Keď budem pri PC tak vyskúšam. Ale je to otázne. Síce nepredpokladám že sa tam využíva reflexia, ale s expressions tree môže byť problém.
Btw, máš produkčný projekt kde si schopný použiť AOT? Pretože pre nás sú aktuálne obmedzenia dosť zásadné. Takže sa s tým zatiaľ len hrám.
Ok, vdaka za odpoved. Pri googleni som ani iny pristup ako FluentValidation nenasiel.
Ale je to otázne. Síce nepredpokladám že sa tam využíva reflexia, ale s expressions tree môže byť problém.
To si myslim aj ja.
Btw, máš produkčný projekt kde si schopný použiť AOT? Pretože pre nás sú aktuálne obmedzenia dosť zásadné. Takže sa s tým zatiaľ len hrám.
Pytal som sa skor teoreticky. Aj ked tento komponent by tie obmedznia zvladol, je to len REST API vrstva nad externe exe-cko (to exe-cko z pochopitelnych dovodou nechceme tahat do kritickej infrastruktury).