Jersey框架put请求发送JSON数据

想用jersey框架发送post请求,body带json格式参数

 url:http//192.168.1.211/api/test

body 数据为 {“action”:"test"}

实现如下:

注意事项:引用jar包一定要正确,不然调试一堆报错。

这里引用包如下:

jettison-1.3.jar 这个提供JSONObject 如果用其它的可能会报各种错误。

jersey-bundle-1.9.jar  这个是jersey的捆绑包,一个解决问题

javax.ws.rs.jar 这个提供MediaType类型

import javax.ws.rs.core.MediaType;

import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;

public class RestClient {
ClientConfig cc = new DefaultClientConfig();
Client client = Client.create(cc);
WebResource resource = client.resource("http://192.168.1.211/api/instance/6/3/");
JSONObject obj = new JSONObject();
try {
obj.put("action", "start");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

ClientResponse response = resource.accept(MediaType.APPLICATION_JSON).type(MediaType.APPLICATION_JSON).post(ClientResponse.class, obj);

String addresses = response.getEntity(String.class);
System.out.println(addresses);

}



你可能感兴趣的:(java,api,REST,jersey)