Параметры пути не могут быть сделаны необязательными, вам придется сопоставить 2 URL-адреса с вашим методом get controller.Попробуйте ниже:
@RequestMapping(method=GET, value={"/", "/{id}"})
public ResponseEntity<User> getUser(@PathVariable Optional<Integer> id) {
if(!id.isPresent()){
return ResponseEntity.notFound().build();
}
User User= this.userService.getUserById(id);
ResponseEntity<User> responseEntity = new ResponseEntity<>(HttpStatus.NOT_FOUND);
if (Objects.nonNull(user)) {
responseEntity = new ResponseEntity<>(user, HttpStatus.OK);
}
return responseEntity;
}
Для этого решения требуется Spring 4.1+ и Java 1.8.