Приоритет обработки RouterFunction и RestController в Spring MVC - PullRequest
0 голосов
/ 20 апреля 2020

Мы интегрируем библиотеку в проект, который читает некоторые файлы конфигурации и выставляет маршруты, используя поддерживаемый функциональный API RouterFunctions. Сейчас в проекте мы используем эту библиотеку, используется RestController. Кажется, что они хорошо уживаются, если используются разные маршруты.

Однако при переходе в библиотеку мы столкнулись со случаем, когда для одного и того же пути метод GET должен обрабатываться библиотека, использующая RouterFunctions, но метод POST для того же пути еще не перенесен из-за некоторых ограничений, поэтому он должен обрабатываться существующим RestController в проекте.

GET  /my/path -> Handled by library (RouterFunctions)
POST /my/path -> Handled by project (RestController)

Но это работает не так, как ожидалось, и когда мы пытаемся использовать метод GET, мы получаем 405 код состояния:

org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported

Есть ли способ расставить приоритеты этих двух так, чтобы RouterFunctions контроллер использовался перед RestController one?

...