#do i need to return DTO from my controller when handling errors?

3 messages · Page 1 of 1 (latest)

pale imp
#

hey guys. i want to ask for some help. in my service i do some checks and throw custom exceptions which later i handle in RestResponseEntityExceptionHandler. it looks like this:

@ControllerAdvice
@Slf4j
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
    @ExceptionHandler(value={NoCustomerException.class})
    protected ResponseEntity<Object> handleNoCustomerException(NoCustomerException noCustomerException, WebRequest webRequest) {
        String responseBody = noCustomerException.getMessage();
        return handleExceptionInternal(noCustomerException, responseBody,new HttpHeaders(), HttpStatus.BAD_REQUEST, webRequest);
    }
    @ExceptionHandler(value={NoEarlierPaymentException.class})
    protected ResponseEntity<Object> handleNoEarlierPaymentException(NoEarlierPaymentException noEarlierPaymentException, WebRequest webRequest) {
        String responseBody = noEarlierPaymentException.getMessage();
        return handleExceptionInternal(noEarlierPaymentException, responseBody,new HttpHeaders(), HttpStatus.BAD_REQUEST, webRequest);
    }
}

currently i return only error message string. but i need to return this type of array:

Name      Type       Length   Description
code      Integer  10        13001
Message*  String   200        Invalid signature

which in response looks like this:

[{"code":13001,"message":"Invalid signature"}]

so i was wondering, since im given fields' types and lengths, should i have a DTO/object which id return? how to aproach it? thanks

light zincBOT
#

This post has been reserved for your question.

Hey @pale imp! Please use /close or the Close Post button above when your problem is solved. Please remember to follow the help guidelines. This post will be automatically closed after 300 minutes of inactivity.

TIP: Narrow down your issue to simple and precise questions to maximize the chance that others will reply in here.