在澤西1,你可以創建一個容器響應濾波器並訪問響應:如何訪問ContainerResponseFilter中的Response對象?
public ContainerResponse filter(ContainerRequest request, ContainerResponse response)
{
Response r = response.getResponse();
// Now I have access to Reponse.getMetadata(), etc.
}
但在新澤西州2,ContainerResponseFilter只給我的迴應方面:
public void filter(ContainerRequestContext requestContext,
ContainerResponseContext responseContext) throws IOException
{
// responseContext gives me the entity, but I want the JAX-RS Response object that my resources created
}
的實施ContainerResponseContext是ContainerResponse,其中需要一個JAX-RS響應對象來構建。那麼爲什麼我無法從過濾器中訪問它?我錯過了什麼嗎?
我遇到的問題是,我的資源都構建了Response對象並將元數據附加到它們,並且我想要一個可以檢查此元數據的響應篩選器。如果沒有訪問原始響應,這似乎不可能。