Давайте представим сценарий, в котором у меня есть приложение Spring Boot (в шаблоне контроллер / сервис / репозиторий), которое содержит контроллер для автомобилей.Теперь я хотел бы создать пути, которые выглядят, например, так:
"/api/cars/bmw"
"/api/cars/mercedes"
"/api/cars/audi"
И так далее.И для каждого из этих производителей автомобилей я хотел бы иметь несколько конечных точек, некоторые из которых являются общими для всех производителей автомобилей (не уверен, что это действительно имеет значение, но просто ради этого, скажем, например, «/ order» и «/ cancelOrder»), но некоторые из них разные.
Теперь, что будет правильным способом реализации этого сценария?Есть ли способ создать CarController для пути /car/{producer}
, который был бы прокси для других контроллеров, таких как AudiController, обрабатывающих запросы /car/audi
?Хорошо иметь 3 производителя автомобилей в одном контроллере, и сервис для каждого производителя автомобилей - это нормально, но наличие 30 может привести к множеству введенных зависимостей (30 сервисов, введенных в контроллер), если у меня будет только один CarController.
Я полагаю, что среда node.js Express позволит нам сделать это в сценарии "контроллера" машины (не уверен, что они называются контроллерами в экспрессе или как):
var app = express();
app.use('/audi', '{path to audi controller script}');
Isесть ли подобная возможность весной?Или это может быть плохая идея, антипаттерн?
Другая идея, которая довольно проста, но кажется не слишком элегантной, состоит в том, чтобы пропустить CarController и реализовать:
AudiController с @RequestMapping("/api/cars/audi")
BmwController с @RequestMapping("/api/cars/bmw")
MercedesController с @RequestMapping("/api/cars/mercedes")
и т. Д.
Итак, что было бы лучшей идеей здесь?