Как я могу сделать Google Sitemap для Spring загрузочного приложения - PullRequest
0 голосов
/ 21 мая 2018

У меня развернуто весеннее приложение на облачном сервере digital Ocean.

Я попытался сгенерировать файл sitemap.xml, используя https://www.xml -sitemaps.com / , но толькодает мне одну страницу.доступ к которому можно получить по https://hostname.com

Я бы хотел, чтобы в моем файле сайта было что-то вроде

  1. https://hostname.com/page1
  2. https://hostname.com/page2

как создать карту сайта для других страниц, которые объединены в файл war в приложении весенней загрузки.

1 Ответ

0 голосов
/ 21 мая 2018

Если вы смотрите на экспорт URL-адресов, упомянутых в контроллерах, то вы можете получить список URL-адресов из RequestMappingHandlerMapping.

@RestController
public class TestController {

    @Autowired
    private RequestMappingHandlerMapping re;

    @GetMapping("/sitemap.xml")
    public String getSitemap() {
        Map<RequestMappingInfo, HandlerMethod> handlerMethods = re.getHandlerMethods();
        List<String> urls = new ArrayList<>();
        for (Entry<RequestMappingInfo, HandlerMethod> entry : handlerMethods.entrySet()) {
            urls.addAll((entry.getKey().getPatternsCondition().getPatterns()));
        }
        // Construct XML response from urls and return it
    }

}
...