带参数的Spring mvc重定向模式

时间:2014-11-28 10:18:55

标签: java spring spring-mvc spring-boot spring-4

我正在尝试将资源处理程序添加到我的Spring Boot App(1.1.8.RELEASE)中,该应用程序必须能够转换此示例。

//From: {HOST_PREFIX_1}/u/{1}/{2}/myimage.jpg
//To:   {CDN_PREFIX_2}/u/{1}/{2}/images/myimage.jpg

我不知道spring是否能够处理这种模式,或者我必须创建一个自定义resourceHandler。

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) 
{
   registry.addResourceHandler("/u/{var1}/{var2}/{var3:.*}")
            .addResourceLocations("/u/{var1/{var2}/images/{var3:.*}")
            .addResourceLocations(cdnPrefix);

    super.addResourceHandlers(registry);
}

Spring没有检测到任何类型的模式错误,但重定向不起作用。

任何帮助?

谢谢!

1 个答案:

答案 0 :(得分:1)

ResourceHandlers旨在从应用程序提供资源,而不是发送HTTP重定向。

如果您想根据模式发送重定向,那么有几种解决方案:

使用自定义控制器逻辑

这就是你最终做的事情;如果您还需要其他功能,例如身份验证等,则非常有用。

使用过滤器

例如URLRewriterFilter

更好,在模板中写下这些链接

使用HTTP重定向是否有特殊原因?这对您的HTTP客户端来说是一个巨大的性能问题,并以某种方式取消了CDN提供的性能提升。

根据您使用的模板引擎,您可以在模板级别执行此操作。