想用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); }
原文地址:http://blog.csdn.net/lipei1220/article/details/46531625