我一直在创建一个restful,我遇到了一些问题,在互联网上找不到任何关于它的信息。
如果我有一个restful,它的applicationPath
指向同一个项目的"/"
和一些非rest资源,会发生什么呢?同样的问题也适用于我添加到一个项目中而被忽略的静态内容。
让我们使用域foo.com
和上下文名bar
作为示例:
我创建了一个rest接口,它的@applicationPath
指向"/"
,资源的@path
指向publications
。
因此,我将foo.com/bar/publications
作为restful的一部分,并且它将是功能性的。
但是,如果我有一个像api-doc
这样的静态内容(应该出现在foo.com/bar/api-doc
上),那么它就被忽略了。
非rest也是如此,就像一个简单的java servlet.不是rest资源的斜杠之后的所有内容都会被忽略。
有什么方法可以让他们一起使用这个指向applicationPath
的"/"
,还是不可能呢?因为我在文件上找不到任何关于它的东西。我只想了解如何更好地利用它。
发布于 2017-11-02 07:59:23
可能与遇到这类问题的其他人有关。
听起来您有URL路径跟踪的情况。考虑一下您声明映射的顺序。
来自Servlet 3规范,第12.1节
使用第一个成功的匹配,不再尝试其他匹配:
或者,您可能在无意中将@ApplicationPath与servlet映射元素凌驾在web.xml中。
希望有些人会发现这是有用的。
https://stackoverflow.com/questions/40838428
复制相似问题