Укажите шаблон для всех контроллеров и методов в spring framework 5

#java #spring

#java #spring

Вопрос:

Я работаю над обновлением приложения на базе Spring Framework 4 до Spring Framework 5, и одно из различий между ними заключается в том, что ControllerClassNameHandlerMapping было удалено (устарело с spring framework 4.3).

Пример его поведения:

 @Controller
// thanks to ControllerClassNameHandlerMapping, this next annotation is unnecessary
// @RequestMapping("example") 
public class ExampleController {
    
    // this is automatically bound to POST /example/someMethod
    // even though I didn't set any "path"
    @RequestMapping(method = RequestMethod.POST)
    public void someMethod() {
    }
  

Есть ли какой-либо способ имитировать это поведение в spring framework 5? Обновление более 300 контроллеров до одинакового поведения с помощью @RequestMapping и path является очень сложной задачей, и на данный момент нас устраивает ControllerClassNameHandlerMapping поведение.

Комментарии:

1. Почему бы не использовать aop и @annotation и не запустить его для всех классов, аннотированных с помощью @Controller?

Ответ №1:

Вы можете обновить контекстный путь в своей конфигурации:

 server:
  servlet:
    context-path: /example