在本
教程中写了如何创建 REST 服务以及如何使用它。我被消费的例子弄糊涂了。我们需要在客户端有这样的jersey.jar
写法:
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
为什么客户需要知道 Web 服务是如何实现的(球衣或可能是其他实现)?为什么客户端不使用 simple 来使用它InputStream
?
在本
教程中写了如何创建 REST 服务以及如何使用它。我被消费的例子弄糊涂了。我们需要在客户端有这样的jersey.jar
写法:
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
为什么客户需要知道 Web 服务是如何实现的(球衣或可能是其他实现)?为什么客户端不使用 simple 来使用它InputStream
?
在本教程中,您将使用 jersey CLIENT 与 RESTful 服务进行交互。
您也可以通过手动创建 HTTP 请求并接收响应并相应地进行解析来直接与服务交互(http://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html)。
Jersey 客户端最终只是对此的抽象,以使其更易于使用。
使用 Restful Web 服务的最简单方法是使用 Spring RestTemplate。 http://docs.spring.io/spring/docs/3.0.x/api/org/springframework/web/client/RestTemplate.html
String URL ="http://localhost:8080/MyWServices/REST/WebService/";
String ws_method_name = "getManagerListByRoleID";
String WS_METHOD_PARAMS = "";
HttpClient httpClient = new DefaultHttpClient();
HttpContext httpContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet(URL + ws_method_name + WS_METHOD_PARAMS);
String text = null;
try {
HttpResponse httpResponse = httpClient
.execute(httpGet, httpContext);
HttpEntity entity = httpResponse.getEntity();
text = getASCIIContentFromEntity(entity);
}catch(Exception e){
e.printStackTrace();
}