-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/74135/#review224726
-----------------------------------------------------------


Ship it!




Ramachandran - one looking into this further, I think your first patch to use 
multipe exception mappers - one for each exception type, is safer. Thanks!

- Madhan Neethiraj


On Sept. 22, 2022, 4:48 a.m., Ramachandran Krishnan wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/74135/
> -----------------------------------------------------------
> 
> (Updated Sept. 22, 2022, 4:48 a.m.)
> 
> 
> Review request for ranger, Abhay Kulkarni, Madhan Neethiraj, Nikhil P, 
> Pradeep Agrawal, Ramesh Mani, Selvamohan Neethiraj, Sailaja Polavarapu, and 
> Velmurugan Periasamy.
> 
> 
> Bugs: RANGER-3847
>     https://issues.apache.org/jira/browse/RANGER-3847
> 
> 
> Repository: ranger
> 
> 
> Description
> -------
> 
> In Ranger rest API if you pass an Invalid attribute type in the JSON request 
> body,  it throws a 404 error instead of 400 (Bad Request). It seems a bug 
> where we need to handle the JsonMappingException by adding Exception Mapper 
> globally to handle incorrect JSON format or Invalid attribute type in the 
> JSON request body otherwise our Rest API will throw a 404 error instead of 
> 400 error
> 
> 
> Diffs
> -----
> 
>   
> security-admin/src/main/java/org/apache/ranger/common/RangerExceptionProvider.java
>  PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/74135/diff/3/
> 
> 
> Testing
> -------
> 
> Request with proper request : Passing int values
> 
> curl --location --request POST 
> 'https://----------------/service/xaudit/trx_log' \
> --header 'Authorization: Basic XXXX=' \
> --header 'Accept: application/json' \
> --header 'Content-Type: application/json' \
> --data-raw '{
>   "objectClassType" : "123456",
>   "objectId" : "1234567"
> }' 
> 
> Response : ok 
> 
> 
> Request with bad request : Passing String values
> 
> curl --location --request POST 'https://---------/service/xaudit/trx_log' \
> --header 'Authorization: Basic XXXXX==' \
> --header 'Accept: application/json' \
> --header 'Content-Type: application/json' \
> --data-raw '{
>   "objectClassType" : "abcdef",
>   "objectId" : "abcdef"
> }' 
> 
> Response : 
> {
>   "errorCode": "Bad Request",
>   "error": "Can not construct instance of int from String value 'abcdef': not 
> a valid Integer value\n at [Source: 
> org.apache.catalina.connector.CoyoteInputStream@2c444edc; line: 1, column: 2] 
> (through reference chain: 
> org.apache.ranger.view.VXTrxLog[\"objectClassType\"])"
> }
> 
> 
> Thanks,
> 
> Ramachandran Krishnan
> 
>

Reply via email to