http://www.mkyong.com/webservices/jax-rs/restful-java-client-with-jersey-client/
我使用此链接从我的应用程序进行休息调用。在这里,我可以传递一个对象作为输入参数。
Client client = Client.create();
WebResource webResource = client .resource("http://localhost:8080/RESTfulExample/rest/json/metallica/post");
String input = "{\"singer\":\"Metallica\",\"title\":\"Fade To Black\"}";
ClientResponse response = webResource.type("application/json") .post(ClientResponse.class, **input**);
我需要在输入位置传递多个输入参数(如图像,字符串等),但不能作为一个对象传递。我怎么能解决这个问题?
答案 0 :(得分:1)
如果您想要使用其他类型的多个部分,则应使用Multipart,您可以找到有关here的更多信息。因此,您可以拥有图像部分和两个字符串部分。
您还可以将图像作为Base64字符串发送到对象中,但这会增加它的大小。更好的方法是在对象内传递byte []。
一种可能性是将所有这些数据作为多个查询参数发送,但这个网址的大小也会受到限制。
答案 1 :(得分:0)
详细了解各种HTTP方法和HTTP的请求响应模型。维基百科是一个很好的起点:https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
通常,数据以下列方式从客户端传递到服务器:
displayFilter
HTTP标头的帮助下通过POST / PUT。在What are all the possible values for HTTP "Content-Type" header? 如果您需要将各种内容类型一起发送,比如图像和文本,只需将图像转换为字符串作为字节数组,然后将其与文本一起发送。