[ 
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)

Reply via email to