1.Jersey框架
Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS 规范。它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTful service 和 client开发。尽管相对年轻,它已经是一个产品级的 RESTful service 和 client> 框架。与Struts类似,它同样可以和hibernate,spring框架整合。
——百度百科
2.Jersey Client API 基本用法
#.yml配置
message:
platform:
url:http://xxx # 短信平台地址 luosimao.com
api:xxx # 账号标识
<!-- 短信发送平台依赖 -->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
</dependency>
1.创建Client实例
Client 类是创建一个 RESTful Web Service 客户端的主要配置点。你可以使用它来配置不同的客户端属性和功能,并且指出使用哪个资源提供者
Client client = Client.create();
2.添加过滤器Filter
password配置在.yml中message.platform.api
client.addFilter(new HTTPBasicAuthFilter("api","password"));
3.创建WebResource实例
创建一个 Web Resource 对象来封装客户端所需要的 Web 资源
WebResource webResource = client.resource("url");
4.发送请求
post请求
一个 POST 请求相当于一个 GET 请求和一个 PUT 请求的综合,也就意味着,可以使用 POST 请求来发送一个实体到指定的 Web 资源并且接收另一个实体。使用 WebResource 类的 post() 方法来发送一个 HTTP POST 请求到指定的 Web 资源。下面的例子展示了发送一个带有查询参数以及进行了 URL 编码的表单数据的 POST 请求:
MultivaluedMap formData = new MultivaluedMapImpl();
formData.add("mobile", "val1");
formData.add("message", "val2");
ClientResponse response = webResource.type("application/x-www-form-urlencoded").post(ClientResponse.class, formData);
通过ClientResponse可以获取到返回的数据
String entity = response.getEntity(String.class);
int status = response.getStatus();