fork me on github

jersey之get,put,post,delete简单使用

  要使用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可以是目标地址或者目标地址的基地址(再访问的时候可以设置子地址)

 

  首先说明一些常用操作。

  1. 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

 

posted @ 2017-03-06 13:07  烦嚣的人  阅读(4856)  评论(0编辑  收藏  举报