package com.neusoft.monitor.service.base;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
import org.hlj.framework.core.page.Page;
public class RestClient {
public final static String METHOD_GET = "GET";
public final static String METHOD_PUT = "PUT";
public final static String METHOD_DELETE = "DELETE";
public final static String METHOD_POST = "POST";
public static Page rest(String serviceUrl, String parameter, String restMethod) {
try {
System.setProperty("javax.net.ssl.keyStore", "D:\\zhou.tie\\.keystore");
System.setProperty("javax.net.ssl.keyStorePassword", "neusoft");
System.setProperty("javax.net.ssl.trustStore", "D:\\zhou.tie\\.keystore");
System.setProperty("javax.net.ssl.trustStorePassword", "neusoft");
String urlResouce = "https://10.10.55.171:8443/pwvm/rest/Terminal/verifyItself/T000001/10.10.55.113/8020"; // create URL
HttpsURLConnection con = (HttpsURLConnection) (new URL(urlResouce)).openConnection();
con.setRequestProperty("Charset", "UTF-8");
con.setDoInput(true);
con.setDoOutput(true);
con.setRequestMethod("GET");
con.setRequestMethod(restMethod);
// 如果请求方法为PUT,POST和DELETE设置DoOutput为真
if (!RestClient.METHOD_GET.equals(restMethod)) {
con.setDoOutput(true);
if (!RestClient.METHOD_DELETE.equals(restMethod)) { // 请求方法为PUT或POST时执行
OutputStream os = con.getOutputStream();
os.write(parameter.getBytes("UTF-8"));
os.close();
}
} else { // 请求方法为GET时执行
InputStream in = con.getInputStream();
byte[] b = new byte[1024];
int result = in.read(b);
while (result != -1) {
System.out.write(b, 0, result);
result = in.read(b);
}
}
System.out.println(con.getResponseCode() + ":" + con.getResponseMessage());
} catch (Exception e) {
throw new RuntimeException(e);
}
return null;
}
public static void main(String args[]) {
// GET
rest("https://10.10.55.171:8443/xxxx/rest/Terminal/verifyItself/T01/10.10.55.113/8020", null, RestClient.METHOD_GET);
/*//PUT
String put="<?xml version=\"1.0\" encoding=\"UTF-8\" ?><PRODUCT xmlns:xlink=\"http://www.w3.org/1999/xlink\"><NAME>Chair Shoe</NAME>"
+"<PRICE>24.8</PRICE></PRODUCT>";
rest("http://localhost:8081/sqlrest/PRODUCT/395",put,RestClient.METHOD_PUT);
//POST
String post="<?xml version=\"1.0\" encoding=\"UTF-8\" ?><PRODUCT xmlns:xlink=\"http://www.w3.org/1999/xlink\">"
+"<PRICE>98</PRICE></PRODUCT>";
rest("http://localhost:8081/sqlrest/PRODUCT/395",post,RestClient.METHOD_POST);
//DELETE
rest("http://localhost:8081/sqlrest/PRODUCT/395",null,RestClient.METHOD_DELETE);*/
}
}
分享到:
相关推荐
标题中的"jersey-core、jersey-client jar包.rar"指的是两个关键的Java库,它们是Jersey框架的核心...通过jersey-core和jersey-client,开发者能够构建出强大的、能够与任何支持REST接口的服务器进行交互的应用程序。
在本文中,我们将深入探讨 `Jersey Client` 的核心概念、功能以及如何使用它来构建高效的REST客户端。 1. **JAX-RS规范** JAX-RS是Java平台上的标准,它定义了一组用于构建RESTful Web服务的API。通过注解,开发...
7. **客户端库(Jersey Client)** Jersey 还提供了一个客户端库,允许开发者方便地创建和执行对RESTful服务的请求,获取响应。这在单元测试或集成测试中非常有用。 8. **过滤器和拦截器** 你可以使用`@Provider`...
6. `jersey-client-1.18.2.jar`:客户端库,用于构建发送 REST 请求的客户端。 7. `jersey-servlet-1.18.2.jar`:Servlet 容器插件,使得 Jersey 能够部署在支持 Servlet 的服务器上。 8. `jersey-client-1.18.2-...
而在`rest-client`目录中,将包含客户端的Java源代码,展示如何使用Jersey的`Client` API来发起HTTP请求。 总的来说,这个Demo提供了学习和理解RESTful服务以及Jersey框架的良好起点。通过实践这个Demo,开发者可以...
4. **jersey-client.jar**:虽然主要用在客户端,但有时在服务器端也需要使用它来进行服务之间的调用。它提供了一种方式来创建和执行HTTP请求,并处理响应。 5. **jersey-media-jaxb.jar**:提供了JAXB支持,使得...
Jersey 是一个开源的 RESTful Web 服务客户端和服务器实现,它基于 Java 框架,主要用于构建符合 JAX-RS(Java API for RESTful Web ...通过下载和正确导入所需的 jar 包,开发者可以快速地开始构建自己的 REST API。
Jersey提供了一些工具和插件,如Jersey Test Framework用于单元测试REST服务,Jersey Client API用于客户端调用,以及支持集成其他框架,如Spring和CDI。 ### 6. 示例应用 创建一个简单的Jersey应用,包括资源类、...
而客户端API则通过`jersey-client`模块实现,可以轻松地与RESTful服务进行交互。 - **服务器端**: - 使用`@Path`注解定义资源路径。 - 使用`@GET`、`@POST`等注解定义HTTP方法。 - 使用`@Produces`、`@Consumes...
总的来说,"动态发布REST接口及服务调用"涵盖了使用Jetty和Jersey在Java中构建RESTful服务的基本流程,从接口的定义、发布到调用的全过程。通过这种方式,开发者可以快速地开发和测试REST服务,为分布式系统提供灵活...
Jersey 2 REST客户端-使用Jersey 2 api开发REST api客户端,以调用GET / PUT / POST请求+ JSON主体作为Java对象POJO 此示例演示了如何使用Jersey 1 api创建REST客户端以及... <artifactId>jersey-client <v
- **jersey-client**: 提供客户端API,用于发送REST请求。 - **jersey-container-servlet**: 用于在Servlet容器中部署Jersey应用。 - **jersey-media-multipart**: 支持上传下载文件的MIME多部分内容类型。 - **...
2. **jersey-client**:客户端模块,用于发起HTTP请求,获取响应。 3. **jersey-servlet**:Servlet容器中的部署模块,使得Jersey可以与Servlet容器如Tomcat、Jetty等集成。 4. **jersey-media-json-jackson**:提供...
- `jersey-client`:客户端库,用于发起HTTP请求和解析响应。 - `jersey-servlet`:Servlet容器的适配器,让Jersey能在Servlet容器(如Tomcat)中运行。 - `jersey-media-multipart`:支持多部分/表单数据的处理。 -...
2. jersey-client:客户端API,用于发起HTTP请求。 3. jersey-servlet:Servlet容器中部署REST服务所需的库。 4. jersey-container-servlet:Servlet 3.0兼容的Servlet容器适配器。 5. jersey-media-jaxb:支持JAXB...
"jersey client调用REST框架web services服务的一个示例" 这个标题告诉我们,我们将探讨如何使用Jersey客户端库来调用基于RESTful架构的Web服务。REST(Representational State Transfer)是一种网络应用程序的设计...
3. **jersey-client.jar**:提供了客户端支持,使得可以通过Java代码发起RESTful请求,获取和发送数据。 4. **jersey-servlet.jar**:这个库是用于在Servlet容器(如Tomcat、Jetty等)中部署Jersey应用的,它实现了...
Jersey的客户端API能够让我们非常方便的创建出REST的Web服务客户端,不管是客户端应用,还是用于测试的代码,都是非常容易和舒服的。
- jersey-client:客户端API,用于发起HTTP请求并接收响应。 - jersey-media-*:支持不同MIME类型的模块,如jersey-media-json-jackson用于处理JSON数据。 - jersey-test-framework:测试框架,帮助开发者进行...