我知道这不太“安静”但是,我想知道是否以及如何处理所有与我的REST资源中的任何方法都不匹配的请求(我想将这些请求代理到另一台服务器)。例如,它可以是一种方法:
@GET
@Path("*")
public Response defaultMethod(@Context HttpServletRequest request, @Context HttpServletResponse response)
{
// do proxying here
}
我怎样才能做到这一点?
BR,
SerkanC
答案 0 :(得分:9)
@Path("/{default: .*}")
这适用于:
http://example.com/someUnexpectedPath
http://example.com/someUnexpectedPath/withAdditionalSubPaths
http://example.com/someUnexpectedPath/withAdditionalSubPaths?andParams=whatever
答案 1 :(得分:2)
一种可能的选择是定义自定义404映射。由于404s处理所有不匹配的请求,因此它应该捕获所有未定义的URL。
我将以下内容添加到我的web.xml
文件
<error-page>
<error-code>404</error-code>
<location>/error/404</location>
</error-page>
位置是您要将请求定向到的路径。然后只需将呼叫定义为正常。