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可以是目标地址或者目标地址的基地址(再访问的时候可以设置子地址)
首先说明一些常用操作。
- 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