如何为Spring启动应用程序执行Google Sitemap

时间:2018-05-21 07:44:38

标签: spring spring-boot sitemap mvcsitemapprovider google-sitemap

我在云服务器上部署了一个spring应用程序,数字海洋。

我尝试使用https://www.xml-sitemaps.com/生成sitemap.xml文件,但它只给了我一页。可以在https://hostname.com

上访问

我希望我的站点地图有类似

的内容
  1. https://hostname.com/page1
  2. https://hostname.com/page2
  3. 如何在Spring启动应用程序中为war文件中的其他页面制作站点地图。

1 个答案:

答案 0 :(得分:1)

如果您要查看控制器中提到的导出网址,则可以从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
    }

}