我是Rest Web服务的新手,并说我已经使用Netbeans
创建了这个Web服务@Path("browse")
@Stateless
public class ArticleBrowseResource {
@EJB
private ArticleSearcherLocal ejbRef;
@GET
@Produces(MediaType.APPLICATION_XML)
public List<Article> browse(@DefaultValue("") @QueryParam("username") String username,@QueryParam("sd") String sd) {
// convert sd string to date
List<Article> articles = ejbRef.search(username, date);
return articles;
}
}
其中Article
是使用@XmlRootElement
现在我如何在我的客户端中查看这篇文章列表,为简单起见,我们只是说它是一个java标准应用程序?在SOAP Web服务中,我知道这些对象是自动生成的,但不是在Rest中。
这是Netbeans为此服务生成的客户端类
public class ArticleBrowseClient {
private WebResource webResource;
private Client client;
private static final String BASE_URI = "http://localhost:8080/cityblog/rest";
public ArticleBrowseClient() {
com.sun.jersey.api.client.config.ClientConfig config = new com.sun.jersey.api.client.config.DefaultClientConfig();
client = Client.create(config);
webResource = client.resource(BASE_URI).path("browse");
}
public <T> T browse(Class<T> responseType, String username, String sd) throws UniformInterfaceException {
WebResource resource = webResource;
if (username != null) {
resource = resource.queryParam("username", username);
}
if (sd != null) {
resource = resource.queryParam("sd", sd);
}
return resource.accept(javax.ws.rs.core.MediaType.APPLICATION_XML).get(responseType);
}
public void close() {
client.destroy();
}
}
解决此问题的最佳和最简单的方法是什么?
感谢任何帮助 thx提前