我的要求是使用 Apache CXF Rest Client API 供应商提供了一个 url http://test.com
Method: get
Url: /getDetails
Header set to application/json
and parameter z=12345
并以 JSON 格式响应:
{
"hasMore": "true",
"results": [
{
"name": "ATM: 16th & Treemont",
"phone": "(303) 249--‐9117",
"streetAddress": "303 16th St. Suite 100"
},
{
"name": "ATM2:17th & Fremont",
"phone": "(555) 999-98886",
"streetAddress": "304 17th St. Suite 200"
}
]
}
当我阅读客户端 API 的文档时,我看到了链接: http ://cxf.apache.org/docs/jax-rs-client-api.html#JAX-RSClientAPI-CXFWebClientAPI WebClient 方法:如果我通过这个例子,它描述了 Book() 我如何根据我的要求描述 Book 对象?
WebClient client = WebClient.create("http://books");
client.path("bookstore/books");
client.type("text/xml").accept("text/xml")
Response r = client.post(new Book());
Book b = r.readEntity(Book.class);
我还看到了代理的用法:它谈到了 BookStore.class ..这不是服务器对象吗?如果是这样,我将无法在最后创建或拥有 BookStore 类或对象。
BookStore store = JAXRSClientFactory.create("http://bookstore.com", BookStore.class);
// (1) remote GET call to http://bookstore.com/bookstore
Books books = store.getAllBooks();
// (2) no remote call
BookResource subresource = store.getBookSubresource(1);
// {3} remote GET call to http://bookstore.com/bookstore/1
Book b = subresource.getBook();
我应该为我的回复创建一个类似于 Book() 的对象吗?实际上,我必须从 JSON 响应 (jettison) 中读取每个值。对于我的要求,我应该遵循哪种方法以及我应该如何进行。我很困惑请指教。
我的要求是严格使用 Apache CXF Rest API。