Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
304 views
in Technique[技术] by (71.8m points)

java - How to submit data with Jersey client POST method

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

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();
    }
}

}

Can someone help me with it?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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();
    }

}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...