如何在Jersey Junit中拦截http 302响应,然后再将其转发到302位置URL

如何在Jersey Junit中拦截http 302响应,然后再将其转发到302位置URL,jersey,junit4,Jersey,Junit4,我绞尽脑汁想找到一种在Jersey中使用Junit框架断言HTTP响应代码302的方法 @Test public void testResponseCodeWithNoIMEI() throws Exception { WebResource webResource = resource(); ClientResponse clientResponse = webResource.path("/catalog").

我绞尽脑汁想找到一种在Jersey中使用Junit框架断言HTTP响应代码302的方法

@Test
public void testResponseCodeWithNoIMEI() throws Exception {
    WebResource webResource = resource();
     ClientResponse clientResponse = webResource.path("/catalog").
                                        queryParam(RequestParams.PRODUCTCODE,"1234").
                                        queryParam(RequestParams.ID,"1234").                            
                                        header(HttpHeaders.USER_AGENT,"Mozilla").
                                        header(HttpHeaders.IF_MODIFIED_SINCE,"Aug 2011").get(ClientResponse.class);
     LOG.debug("Server response :"+clientResponse);
这个特定的请求应该返回HTTP 302+位置。 它正在返回,但ClientReqest正在尝试导航到该URL。我不确定默认行为,但我想停下来检查HTTP 302是否足以使测试通过。 基本上,它是Junit测试之一

你知道怎么做吗

/默翰

你应该这样做

  com.sun.jersey.api.client.Client client = Client.create();
  client .setFollowRedirects(false);

它将被添加到你的
resource()
方法中。

因为你承认有一个默认行为,你可以研究它,并用你发现的更新问题。你可以回答你自己的问题,或者提供足够的信息让别人了解你。不要以为每个人都知道每一个默认值-尽可能多地做一些腿部工作,并把它带到桌面上。。。即使这是随着时间的推移。