Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按后缀/文件扩展名的Spring Rest筛选器_Java_Rest_Spring Boot - Fatal编程技术网

Java 按后缀/文件扩展名的Spring Rest筛选器

Java 按后缀/文件扩展名的Spring Rest筛选器,java,rest,spring-boot,Java,Rest,Spring Boot,我们希望通过SpringBootWebApp交付一些HTML文件以及其他文件。我们希望通过为以.HTML结尾的URI设置一个REST端点来分割HTML和非HTML流量。 我们尝试了类似的方法,但没有成功:( 不幸的是,上面的代码和其他一些变体不起作用这段代码对我来说效果很好。请注意,出于您的目的,您可以只使用ant模式(而不是真正的regexp) P.S.:也考虑使用POST请求来传递“内容”。 最后,我没有找到原问题的答案,所以我用了这个。 @RequestMapping(value = "*

我们希望通过SpringBootWebApp交付一些HTML文件以及其他文件。我们希望通过为以.HTML结尾的URI设置一个REST端点来分割HTML和非HTML流量。 我们尝试了类似的方法,但没有成功:(


不幸的是,上面的代码和其他一些变体不起作用

这段代码对我来说效果很好。请注意,出于您的目的,您可以只使用ant模式(而不是真正的regexp)


P.S.:也考虑使用POST请求来传递“内容”。

最后,我没有找到原问题的答案,所以我用了这个

@RequestMapping(value = "**")

为了捕获所有未通过专用映射处理的请求,然后我在普通Java代码中对HTML和非HTML进行了拆分…

这就是Spring资源处理的目的,神奇的东西可能应该放在拦截器中(或者是资源链的一部分,取决于神奇之处)。谢谢你的回答。不幸的是,你的解决方案没有按我所需要的方式工作。像
http://localhost:8080/filter-content/test.html
已正确过滤,但当我添加path元素时,它将不再被触发
http://localhost:8080/filter-content/somepath/test.html
@RestController
@RequestMapping("filter-content")
public class FilterController {

    @PostMapping(value = "*.xml")
    public void onlyXml() {
        System.out.println("Xml content");
    }

    @PostMapping(value = "*.html")
    public void onlyHtml() {
        System.out.println("Html content");
    }


    @PostMapping(value = "*")
    public void otherContent() {
        System.out.println("Other content");
    }

}
@RequestMapping(value = "**")