Работа с Spring-boot: MVC, REST API
Фон: Модель = Студент >> Длинный возраст (один из атрибутов класса Студента)
Можно ли определить два URL пути доступа к возрасту конкретного ученика? Пример:
- Доступ по id студента
`
@GetMapping("/{id}/age")
public ResponseEntity<String> getStudentAge(@PathVariable Long id) {
String age = studentService.retrieveAgeById(id);
return new ResponseEntity<String>(age, HttpStatus.OK);
}
`
SQL запрос (с использованием идентификатора) :
@Query("select d.id, d.age from Student d where d.id=:id")
String findAgeById(Long id);
Возраст доступа по имени ученика
`
@GetMapping("/{name}/age")
public ResponseEntity<String> getStudentAgeByName(@PathVariable String name) {
String age = studentService.retrieveAgeByName(name);
return new ResponseEntity<String>(age, HttpStatus.OK);
}
`
SQL Запрос (с использованием имени):
@Query("select d.name, d.age from Student d where d.name=:name")
String findAgeByName(String name);
Этот метод вызывает эту ошибку:
Произошла непредвиденная ошибка (тип = Внутренняя ошибка сервера, статус = 500). Методы неоднозначного обработчика, сопоставленные для '/ 2 / age': {public org.springframework.http.ResponseEntity com.example.restapi.controller.StudentController.getStudentAgeByName (java .lang.String), publi c orwork.sprf. http.ResponseEntity com.example.restapi.controller.StudentController.getStudentAge (java .lang.Long)}