Spring Boot MVC请求映射会覆盖静态资源

时间:2017-01-18 17:05:53

标签: spring-boot static-resource

我想在Spring Boot中安装rest控制器来处理所有这样的请求:" / {arg}",EXCEPT" /sitemap.xml"。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:4)

您可以通过正则表达式在控制器级别指定您的请求映射,并将以下资源(例如' excludeResourceA'以及' excludeResourceB')排除在:

@RestController
@RequestMapping(value = "/{arg:(?!sitemap.xml|excludeResourceA|excludeResourceB).*$}")
public class YourRestController {
    // your implementation
}

当然,您也可以使用相对于控制器路径匹配的相同正则表达式在方法级别指定请求映射,如果需要,可以将方法签名中带有@PathVariable("arg") String arg的参数传递给方法体。