2010-11-05 78 views
4

我知道這不是很「寧靜」,但我想知道是否以及如何處理所有與我的REST資源中的任何方法都不匹配的請求(I想要將這些請求代理到另一臺服務器)。例如,它可以像一個方法:在Jersey中使用默認的方法來實現不匹配的REST方法

@GET 
@Path("*") 
public Response defaultMethod(@Context HttpServletRequest request, @Context HttpServletResponse response) 
{ 
    // do proxying here 
} 

我怎麼能做到這一點?

BR,

SerkanC

回答

2

一種可能的選擇是定義一個定製的404映射。由於404s處理所有不匹配的請求,它應該捕獲所有未定義的URL。

我添加了下面這對我web.xml文件

<error-page> 
    <error-code>404</error-code> 
    <location>/error/404</location> 
    </error-page> 

位置在哪裏,你是想直接請求的路徑。然後,將該呼叫定義爲正常。

8
@Path("/{default: .*}") 

這適用於:

  • http://example.com/someUnexpectedPath
  • http://example.com/someUnexpectedPath/withAdditionalSubPaths
  • http://example.com/someUnexpectedPath/withAdditionalSubPaths?andParams=whatever