1. 程式人生 > >Spring boot 中使用Jersey框架實現簡訊傳送

Spring boot 中使用Jersey框架實現簡訊傳送

1.Jersey框架

Jersey RESTful 框架是開源的RESTful框架, 實現了JAX-RS (JSR 311 & JSR 339)規範。它擴充套件了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();