Использование сопоставлений контроллера на основе аннотаций.
@Controller
public class AlertsController {
@RequestMapping(value="create", method=RequestMethod.GET)
public void create(HttpServletRequest request, Model model) {
}
}
При доступе alerts/create
я получаю сообщение Does your handler implement a supported interface like Controller?
. Это кажется странным и противоречит тому, что написано в документации.
Итак, я добавляю RequestMapping
к классу:
@Controller
@RequestMapping("/alerts")
public class AlertsController {
@RequestMapping(value="create", method=RequestMethod.GET)
public void create(HttpServletRequest request, Model model) {
}
}
Тогда это работает. Мне не нужно ни @RequestMapping
, но я делаю. Теперь все становится странно. Я действительно хотел сопоставить это с `/ profile / alerts ', поэтому я изменил это на:
@Controller
@RequestMapping("/profile/alerts")
public class AlertsController {
@RequestMapping(value="create", method=RequestMethod.GET)
public void create(HttpServletRequest request, Model model) {
}
}
Я получаю 404 при переходе на profile/alerts/create
, но он по-прежнему отображается на /alerts/create
по какой-то причине?!?!?!
Я изменяю это на:
@Controller
@RequestMapping("foobar")
public class AlertsController {
@RequestMapping(value="create", method=RequestMethod.GET)
public void create(HttpServletRequest request, Model model) {
}
}
Это очень странно и невероятно неудобно. У кого-нибудь есть способ исправить это или даже отладить происходящее?