使用泽西岛客户端执行开机自检操作
2022-08-31 16:32:10
在Java方法中,我想使用泽西岛客户端对象在RESTful Web服务(也使用泽西岛编写)上执行POST操作,但我不确定如何使用客户端发送将在服务器上用作FormParam的值。我能够很好地发送查询参数。
在Java方法中,我想使用泽西岛客户端对象在RESTful Web服务(也使用泽西岛编写)上执行POST操作,但我不确定如何使用客户端发送将在服务器上用作FormParam的值。我能够很好地发送查询参数。
我自己还没有这样做,但是Google-Fu的快速浏览揭示了 blogs.oracle.com 的技术提示,其中包含您要求的示例。
示例取自博客文章:
MultivaluedMap formData = new MultivaluedMapImpl();
formData.add("name1", "val1");
formData.add("name2", "val2");
ClientResponse response = webResource
.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
.post(ClientResponse.class, formData);
那有什么帮助吗?
从 Jersey 2.x 开始,该类被 MultivaluedHashMap
取代。您可以使用它来添加表单数据并将其发送到服务器:MultivaluedMapImpl
WebTarget webTarget = client.target("http://www.example.com/some/resource");
MultivaluedMap<String, String> formData = new MultivaluedHashMap<String, String>();
formData.add("key1", "value1");
formData.add("key2", "value2");
Response response = webTarget.request().post(Entity.form(formData));
请注意,表单实体以 的格式发送。"application/x-www-form-urlencoded"