Недавно я получил просьбу от моего непосредственного начальника создать весной динамический конструктор URL-адресов. Цель создания этого конструктора - объединить базовый URL-адрес с относительным путем к ресурсам (изображениям, файлам json и т. Д.), Чтобы он сформировал полный путь.

В настоящее время мы предоставляем изображения, используя относительные пути, такие как /images/avatar/default_avatar.jpg, но я хочу, чтобы они были в полном пути, http://www.test.net/images/avatar/default_avatar.jpg

Я искал в Интернете дизайн конструктора, но не нашел, возможно, я искал неправильное ключевое слово, поэтому не знаю, с чего начать.

Моя первоначальная идея состоит в том, чтобы сохранить базовый путь в файле .properties, чтобы я мог использовать его для конкатенации в построителе.

Приветствуются любые конструктивные идеи / передовые методы проектирования застройщика.

0
hades 18 Июл 2017 в 18:00
Не могли бы вы предоставить более подробную информацию, потому что "конструктор URL-адресов весной" непонятно, что вы имеете в виду. Если у вас есть HttpServletRequest, просто выполните HttpServletRequest.getScheme (), если не используйте InetAddress.getLocalHost (). GetHostName (), я просто предполагаю, что никакого кода не предоставлено
 – 
mihatel
18 Июл 2017 в 18:14

1 ответ

Лучший ответ

Приветствуются любые конструктивные идеи / передовые методы проектирования застройщика.

Возможно, вы захотите взглянуть на UriComponentsBuilder из Spring, вы можете явно указать тип схемы, хост и т. Д. Преимущество UriComponentsBuilder заключается в возможности вводить его непосредственно в метод контроллера. Дополнительную информацию можно найти в этом руководстве.

Цель создания этого конструктора - объединить базовый URL-адрес с относительным путем к ресурсам (изображениям, файлам json и т. Д.), Чтобы он сформировал полный путь.

Я считаю, что вы легко можете этого добиться без какого-либо файла .properties

1
lazyneuron 18 Июл 2017 в 18:24