Java 如何在RESTAPI中传递多个参数';s

Java 如何在RESTAPI中传递多个参数';s,java,jersey-client,Java,Jersey Client,我使用此链接从我的应用程序中进行rest调用。这里我可以传递一个对象作为输入参数 Client client = Client.create(); WebResource webResource = client .resource("http://localhost:8080/RESTfulExample/rest/json/metallica/post"); String input = "{\"singer\":\"Metallica\",\"title\":\"Fade To Bl

我使用此链接从我的应用程序中进行rest调用。这里我可以传递一个对象作为输入参数

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**);

我需要在输入位置传递多个输入参数(如图像、字符串等),但不能作为一个对象。如何解决这个问题?

更多地了解各种HTTP方法和HTTP的请求-响应模型。维基百科是一个很好的起点:

数据通常以以下方式从客户端传递到服务器:

  • 通过GET/DELETE查询和路径参数
  • 文本、多部分、消息、图像、音频、视频、应用程序等,在
    内容类型的帮助下通过POST/PUT
    HTTP头。阅读有关各种内容类型的更多信息,请访问

  • 如果您需要同时发送各种内容类型,例如图像和文本,只需将图像转换为一个字节数组的字符串,并将其与文本一起发送。

    如果您希望将多个部分与其他类型一起发送,则应使用多部分,您可以找到有关的详细信息。例如,您可以有一个图像部分和两个字符串部分

    您也可以在对象中以Base64字符串的形式发送图像,但这会增加图像的大小。更好的方法是在对象内部传递字节[]

    一种可能是将所有这些数据作为多个查询参数发送,但这将非常糟糕,而且url的大小也有限。

    请参见此处