2010-09-20 62 views
0

我已经编写了使用Jersey库调用Rest API的Java代码。 我的第一个显示所有博客的方法我已经写的在调用Apis时附加参数

return webResource.path(ConfigurationUtil.LIST_BLOGS).header(ConfigurationUtil.AUTHENTICATION_HEADER, authentication) 
     .accept(MediaType.APPLICATION_XML_TYPE).get(new GenericType<List<CommunityBean>>() { 
    }); 

代码列出了所有的博客。作为我LIST_BLOGS串像

public static final String LIST_BLOGS = "api/blogs.xml"; 

它工作正常..

现在我试图编写一个代码,我只想提取2个博客而不是全部

所以我的网址就像

public static final String LIST_BLOGS = "api/blogs.xml?limit=2"; 

由于我无法从封装文件发送参数ConfigurationUtil文件,我使用的方式

public List<BlogBean> searchBlogsXml(String limit) { 

    final String SEARCH_BLOGS="api/blogs.xml?limit="+limit; 

return webResource.path(SEARCH_BLOGS).header(ConfigurationUtil.AUTHENTICATION_HEADER, authentication) 
    .accept(MediaType.APPLICATION_XML_TYPE).get(new GenericType<List<BlogBean>>() { 
    }); 
} 

当我用像上面我得到406错误..

为什么这么如何避免这种情况? 请给出建议..

回答

1

你可以附加一个查询参数像这样;

resource.queryParam("limit", 2).get(MyObject.class); 
+0

在那里我应该给上面的行... – useranon 2010-09-20 08:55:38

+0

@Aruna queryParam是'WebResource'的方法,参考javadocs https://jersey.dev.java.net/nonav/apidocs/latest /jersey/com/sun/jersey/api/client/WebResource.html#queryParam(java.lang.String,%20java.lang.String) – Qwerky 2010-09-20 09:00:01

+0

谢谢.. DOne it .. – useranon 2010-09-20 09:14:10