[
https://issues.apache.org/jira/browse/FINERACT-2489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adam Saghy resolved FINERACT-2489.
----------------------------------
Fix Version/s: 1.15.0
Resolution: Fixed
> Omitting "charts" in Recurring Deposit Product creation causes NPE instead of
> validation error
> ----------------------------------------------------------------------------------------------
>
> Key: FINERACT-2489
> URL: https://issues.apache.org/jira/browse/FINERACT-2489
> Project: Apache Fineract
> Issue Type: Bug
> Components: Savings
> Affects Versions: 1.15.0
> Reporter: Dhananjay Bhagat
> Priority: Minor
> Labels: beginner-friendly
> Fix For: 1.15.0
>
>
> When creating a Recurring Deposit Product via POST
> /v1/recurringdepositproducts API endpoint, the "charts" parameter is
> effectively mandatory.
> If the parameter is omitted, the request currently results in a
> NullPointerException during validation
> (DepositProductDataValidator.validateChartsData), which leads to HTTP 500
> Internal Server Error.
> h3. Steps to Reproduce:
> 1. Call POST /v1/recurringdepositproducts.
> 2. Provide valid payload but omit "charts".
> h3. Current Result:
> {code:java}
> 500 Internal Server Error.
> {code}
> h3. Expected Result:
> The request should fail with a 400 Bad Request and return a validation
> message similar to other mandatory parameters. Example:
> {code:java}
> 400 Bad Request
> "The parameter `charts` is mandatory."
> {code}
> h3. Impact:
> Clients receive a server-side failure instead of actionable validation
> feedback, and cannot easily determine how to correct the request.
> h3. Proposed Direction:
> Create a guard against null value before it reaches a flow that results in
> NPE. Rely on DataValidatorBuilder.notNull().jsonArrayNotEmpty() to produce
> consistent validation errors.
> The API documentation should also reflect that "charts" is mandatory.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)