当前位置: 首页 > 面试题库 >

如何使用Jersey客户端POST方法提交数据

甄德寿
2023-03-14
问题内容

我是新泽西州的新手。我需要实现一个Jersey客户端,才能使用POST方法提交数据。curl命令是:

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命令的方法。

到目前为止,我已经完成了:

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

}

有人可以帮我吗?


问题答案:

现在我知道了。这是我的解决方案:

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 + "\n");
    } catch (Exception e) {
        e.printStackTrace();
    }

}


 类似资料:
  • 我必须向只通过表单数据(Mediatype.application_form_urlencoded)接受参数的服务器发布pojo。我知道jersey client可以将对象转换为xml、json和其他类型,但试图转换为APPLICATION_FORM_URLENCODED会出现异常,显示指定类型的body writer不可用。 是否有方法将对象序列化为application_form_urlenc

  • 问题内容: 在Java方法中,我想使用Jersey客户端对象在RESTful Web服务(也使用Jersey编写)上执行POST操作,但不确定如何使用客户端发送将用作FormParam的值在服务器上。我能够发送查询参数就好了。 问题答案: 我自己尚未完成此操作,不过Google- Fu的简短内容在blogs.oracle.com上提供了一个技术提示,其中包含您真正要求的示例。 摘自博客文章的示例:

  • 本文向大家介绍jQuery使用post方法提交数据实例,包括了jQuery使用post方法提交数据实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery使用post方法提交数据的用法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的jQuery程序设计有所帮助。

  • 我使用的是一个PHP RESTful API,它由使用jersey 2.21的Java桌面应用程序使用。

  • 问题内容: 如何使用Jersey客户端API将GET请求发送到运行HTTPS协议的服务器。我可以使用任何示例代码吗? 问题答案: 这样构建您的客户 从此博客文章中窃取了更多详细信息:http : //blogs.oracle.com/enterprisetechtips/entry/consumption_restful_web_services_with 有关设置证书的信息,请参见以下已很好回答

  • 我正在尝试创建RESTful web服务,但无法使删除生效,我不确定问题在哪里。我认为问题在客户端项目中,但也可能在服务器项目的资源类中。 我有一个使用这种方法的学生道课,我不认为这是一个问题,因为它适用于其他项目。 我有一个StudentResource类,它是我从包含这段代码的模式中创建的RESTful资源 然后,我创建了一个java项目,并使用此方法创建了名为OneStudent的RESTf