mam sobie taka metode
@RequestMapping(value = "/customers/{id}", method = RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public Customer getCustomerById(@PathVariable("id") long id){
return customerService.getCustomerById(id);
}
jezeli w url bedzie id, ktore istnieje to wszystko ok. Jednak chcialbym zeby metoda zwracala 404 w przypadku gdy wolane jest id, ktorego nie ma w bazie:, wymyslilem cos takiego:
@RequestMapping(value = "/customers/{id}", method = RequestMethod.GET)
//@ResponseStatus(HttpStatus.OK)
public ResponseEntity<Customer> getCustomerById(@PathVariable("id") long id){
Customer customer = customerService.getCustomerById(id);
if(customer==null)
return new ResponseEntity<Customer>(customer,HttpStatus.NOT_FOUND);
return new ResponseEntity<Customer>(customer,HttpStatus.OK);
}
Czy sa inne sposoby na uzyskanie takiego efektu? Zastanawia mnie teraz adnotacje @ResponseStatus na metodzie , czy nie jest tak ze wiekszosc metod w crud moze zwrocic rozne statusy, wtedy taka adnotacja staje sie bezuzyteczna?