KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a rest service which send an 404 error when the resources is not found. Here the source of my controller and the exception which send 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); } } When i try to call it with RestTemplate with this code : ResponseEntity<StoreDto> r = restTemplate.getForEntity(url, StoreDto.class, m); System.out.println(r.getStatusCode()); System.out.println(r.getBody()); I receive this exception : 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 I was thinking I can explore my responseEntity Object and do some things with the statusCode. But exception is launch and my app go down. Is there a specific configuration for restTemplate to not send exception but populate my ResponseEntity.
Tags (comma-separated)
Save Edits
Cancel