[
https://issues.apache.org/jira/browse/FINERACT-1229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Vorburger updated FINERACT-1229:
----------------------------------------
Labels: technical (was: )
> Support mandatory API Resource operation parameters declaratively
> -----------------------------------------------------------------
>
> Key: FINERACT-1229
> URL: https://issues.apache.org/jira/browse/FINERACT-1229
> Project: Apache Fineract
> Issue Type: Improvement
> Reporter: Michael Vorburger
> Priority: Major
> Labels: technical
>
> While I was fixing FINERACT-1036 (see upcoming PR), and adding a manual
> non-null check ad hoc for that particular problem, it occurred to me that it
> would be much nicer if we could simply declare validation rules by
> annotation, such as "required" (not null) for parameters of API Resource
> methods, or even fields in data classes used as parameters types.
> In an ideal world, I would expect this to then be picked up by both at
> runtime for validation, and by the Swagger Code Gen to dig what is a required
> in the JSON.
> {{jakarta.validation.constraints.NotNull}} seems suitable, but I've tried
> adding that to the respective arguments ({{FormDataContentDisposition}} and
> {{FormDataBodyPart}}) of theĀ
> {{org.apache.fineract.infrastructure.documentmanagement.api.DocumentManagementApiResource.createDocument()}}
> method - but it didn't seem to do anything.
> I'm guessing some Spring / JAX RS / Bean Validation integration magic would
> be required for this. I'm sure it exists, but haven't into it - someone could
> look into this some time under this issue. (For the short term in
> FINERACT-1036, I'm manually null checking, and throwing a
> {{jakarta.validation.ValidationException}} - but at least already
> contributing the {{ValidationExceptionExceptionMapper}} which can be re-used
> when we implement this.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)