如何使用 Jersey 客户端 POST 方法提交数据
我是泽西岛的新手.我需要实现一个 Jersey 客户端来使用 POST 方法提交数据.curl命令是:
I am new to Jersey. I need to implement a Jersey client to submit data with POST method. The curl command is:
curl -d '{"switch": "00:00:00:00:00:00:00:01", "name":"flow-mod-1", "priority":"32768", "ingress-port":"1","active":"true", "actions":"output=2"}' http://localhost:8080/wm/staticflowentrypusher/json
所以我想弄清楚如何使用 Jersey 客户端来实现上面的 curl 命令.
So I am trying to figure out how to use Jersey client to implement the above curl command.
到目前为止我已经完成了:
So far I have done:
public class FLClient {
private static Client client;
private static WebResource webResource;
private static String baseuri = "http://localhost:8080/wm/staticflowentrypusher/json";
private static ClientResponse response;
private static String output = null;
public static void main(String[] args) {
try {
client = Client.create();
webResource = client.resource(baseuri);
// implement POST data
} catch (Exception e) {
e.printStackTrace();
}
}
}
有人可以帮我吗?
推荐答案
现在我想通了.这是我的解决方案:
Now I figure it out. Here is my solution:
public static void main(String[] args) {
try {
Client client = Client.create();
WebResource webResource = client.resource(baseuri);
String input = "{"switch": "00:00:00:00:00:00:00:01", "
+ ""name":"flow-mod-1", "priority":"32768", "
+ ""ingress-port":"1","active":"true", "
+ ""actions":"output=2"}";
// POST method
ClientResponse response = webResource.accept("application/json")
.type("application/json").post(ClientResponse.class, input);
// check response status code
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatus());
}
// display response
String output = response.getEntity(String.class);
System.out.println("Output from Server .... ");
System.out.println(output + "
");
} catch (Exception e) {
e.printStackTrace();
}
}
相关文章