Используйте клиент REST для вызова многостраничных/форм-данных.

У меня есть веб-служба REST на основе RESTeasy (см. ниже). Я пытаюсь использовать клиент REST Google для выполнения запроса на проверку моей службы, но я не уверен, как настроить запрос.

Я не уверен, как отправить byte[] в качестве параметра (filedata).
Любые идеи о том, как проверить это?

Я получаю следующее исключение:

java.io.IOException: невозможно получить границу для multipart

с

request:
-content-type=multipart/form-data
-form params:
test=testvalue

Метод останова:

@POST
@Path("/upload")
@Consumes("multipart/form-data")
public Response create(@MultipartForm FileUploadForm form) {
   System.out.println("form=" + form.getTest());
   return null;
}

FileUploadForm Pojo:

import javax.ws.rs.FormParam;
import org.jboss.resteasy.annotations.providers.multipart.PartType;

public class FileUploadForm {
    private byte[] filedata;
    private String test;

    public FileUploadForm() {}

    public byte[] getFileData() {
        return filedata;
    }

    @FormParam("filedata")
    @PartType("application/octet-stream")
    public void setFileData(final byte[] filedata) {
        this.filedata = filedata;
    }

    public String getTest() {
        return test;
    }

    @FormParam("test")
    @PartType("application/json")
    public void setTest(String test) {
        this.test = test;
    }   
}

Ответ 1

Вам нужно добавить этот заголовок к вашему запросу:

Accept-Encoding:multipart/form-data

обычно вы используете Content type следующим образом:

Content-Type: image/png

Вы можете протестировать его с помощью Postman REST client

Я добавил изображение о том, как заполнить форму.

postman multipart/form-data