Spring: Как я могу синхронизировать маршруты с URL на странице? - PullRequest
0 голосов
/ 30 сентября 2018

Как я могу поддерживать ссылки в моих шаблонах пользовательского интерфейса (например, в шаблонах Thymeleaf) в синхронизации с соответствующими отображениями запросов в моем приложении Spring?

Я видел, что, например, платформа Play использует @ router-Objectв своих шаблонах.Как это решается Spring?

Один пример:

Spring Controller - простой

@Controller
public class UserController {

  @GetMapping("/users/{username}")
  public String getUser(@PathParam String username) {
    // do some stuff....
    return "user";
  }
}

HTML-страница

<body>
  <a href="/users/1">User details</a>
</body>

Теперь я хочуизменить "/ users" на "/ account".Я почти уверен, что мне нужно обновить каждую html-страницу вручную, чтобы обновить ссылку.Есть ли более простое решение для этого?

1 Ответ

0 голосов
/ 05 февраля 2019

Насколько я знаю, не существует простого способа сделать это с помощью встроенных инструментов Spring.Однако я не думаю, что это было бы слишком сложно построить.Вам потребуется следующее:

  • Файл YAML со всеми определенными шаблонами URL-адресов
  • A Properties Spring bean-компонент, содержащий сопоставления URL-адресов (считанные из файла YAML)
  • Все ваши @RequestMapping аннотации должны быть значениями проп;т.е. @GetMapping("${urls.users.byUsername}")
  • Пользовательский тег, который знает о бине Properties и может создавать URL-адреса из шаблонов, которые были определены в вашем файле YAML.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...