Как я могу сделать Google Sitemap для Spring загрузочного приложения
У меня есть весеннее приложение, развернутое на облачном сервере Digital Ocean.
я попытался сгенерировать файл sitemap.xml, используя https://www.xml-sitemaps.com/ но он дает мне только одну страницу. к которому можно получить доступ на https://hostname.com/
я хотел бы, чтобы моя карта сайта была что-то вроде
Как я могу сделать карту сайта для других страниц, которые включены в файл war в приложении весенней загрузки.
1 ответ
Если вы смотрите на экспорт 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
}
}