要使用jersey首先要有相應的依賴包,獲取方法有很多,本地下載依賴文件或maven獲取,這里假設你的環境已經搭建好了。要使用jersey首先要初始化一個client客戶端,下面是最簡單的一個get請求
//初始化客戶端
ClientConfig cc=new DefaultClientConfig(); Client client=Client.create(cc); WebResource webResource=client.resource(url);
//進行http連接
ClientResponse response=webResource.get(ClientResponse.class);
int status=response.getStatus();//獲取狀態碼
String textEntity=response.getEntity(String.class);//獲取返回內容
url可以是目標地址或者目標地址的基地址(再訪問的時候可以設置子地址)
首先說明一些常用操作。
- url參數設置,既url鏈接“?”后的參數,比如"https://i.cnblogs.com/EditPosts.aspx?opt=1"中的opt=1
//插入參數param1,param2
MultivaluedMap queryParams = new MultivaluedMapImpl(); queryParams.add("param1", "val1"); queryParams.add("param2", "val2"); ClientResponse = webResouce.queryParams(queryParams).get(String.class);
2.http頭header設置,百度了很多未找到很方便的設置方法,下面的方法僅供參考,如果更好的歡迎評論指出。
//通過header方法一個個添加header頭信息
ClientResponse response=webResource.header("content-text","application/json").header(" "," ").get(ClientResponse.class);
3.消息體body設置,如post,put等可以傳遞一個對象,這里以json對象為例
JSONObject obj=new JSONObject(); try { obj.put("username", "test8"); obj.put("password", "123456"); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); }
ClientResponse response=webResource.header("content-text","application/json").header(" "," ").put(ClientResponse.class,obj);//參數列表里加入obj對象
get,put,post,delete方法僅僅是修改webResource.put/get/post/delete()
下面附上別人對四種方法的詳細講解
http://hugh-wangp.iteye.com/blog/1797237