Spring MVC - Exceção de lançamento do RestTemplate quando acontece o HTTP 404

Eu tenho um serviço de descanso que envia um erro 404 quando os recursos não são encontrados. Aqui a fonte do meu controlador e a exceção que envia o Http 404.

@Controller
@RequestMapping("/site")
public class SiteController
{

    @Autowired
    private IStoreManager storeManager;

    @RequestMapping(value = "/stores/{pkStore}", method = RequestMethod.GET, produces = "application/json")
    @ResponseBody
    public StoreDto getStoreByPk(@PathVariable long pkStore) {       
        Store s = storeManager.getStore(pkStore);
        if (null == s) {
            throw new ResourceNotFoundException("no store with pkStore : " + pkStore);
        }
        return StoreDto.entityToDto(s);       

    }
}

@ResponseStatus(value = HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException
{       
    private static final long serialVersionUID = -6252766749487342137L;    
    public ResourceNotFoundException(String message) {
        super(message);
    }    
}

Quando eu tento chamá-lo com RestTemplate com este código:

ResponseEntity<StoreDto> r = restTemplate.getForEntity(url, StoreDto.class, m);
 System.out.println(r.getStatusCode());
 System.out.println(r.getBody());

Eu recebo esta exceção:

org.springframework.web.client.RestTemplate handleResponseError
ATTENTION: GET request for "http://........./stores/99" resulted in 404 (Introuvable); invoking error handler
org.springframework.web.client.HttpClientErrorException: 404 Introuvable

Eu estava pensando em explorar meu Objeto responseEntity e fazer algumas coisas com o statusCode. Mas a exceção é o lançamento e meu aplicativo é desativado.

Existe uma configuração específica para o restTemplate para não enviar exceção, mas preencher meu ResponseEntity.

Muito obrigado por ajuda.

-

Loïc

questionAnswers(5)

yourAnswerToTheQuestion