Posiadam kontroler, który zwraca użytkownika

@GetMapping(value = "/account/{username}")
    public
    HttpEntity<UserProfileDTO> getProfile(
            @ApiParam(value = "The user's name", required = true) @PathVariable String username
    ) {
        return Optional
                .ofNullable(userService.findOneByUsername(username))
                .map(user -> ResponseEntity.ok().body(converterUserToUserProfileDTO.convert(user)))
                .orElseGet(() -> ResponseEntity.notFound().build());
    }

w tej wersji kontroler zwraca

ResponseEntity.notFound().build()

wszystko jet OK https://zapodaj.net/7f91c7119a9a1.png.html.

Jednak pomyślałem, aby spróbować coś wyrzucić w ResponseBody podczas rzucania błędu, dlatego utworzyłem wyjątek

@ResponseStatus(HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException {
 
    public ResourceNotFoundException(String message) {
        super(message);
    }
}

i kontroler dla niego

@RestControllerAdvice
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
 
    @ExceptionHandler(ResourceNotFoundException.class)
    public ResponseEntity<String> handleResourceNotFoundException(ResourceNotFoundException ex) {
        return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());
    }
}

dodatkowo kontroler pobierający użytkownika rzuca teraz ten wyjątek zamiast zwracania NOT_FOUND

.orElseThrow(() -> new ResourceNotFoundException("User not found");

i tym oto sposobem dostaję NIC https://zapodaj.net/68c19d8b8e34e.png.html. Nawet brak kodu błędu. Może ktoś powiedzieć mi co robię nie tak?