RESTeasy Client-Code zum Anhängen einer Datei
Ich muss eine Datei an meinen Service-Endpunkt anhängen. Ich habe die Funktionalität über POSTMAN getestet (Chrome-Browser-Plugin zum Testen des Rest-Service), es funktioniert einwandfrei.
Aber ich muss das selbe mit JUNIT testen. In diesem Fall verwende ich den RESTeasy-Client.
Ich habe versucht, mit diesem Code:
StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(new FileReader("C:/Temp/tempfile.txt"));
try {
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append(System.lineSeparator());
line = br.readLine();
}
}
finally {
br.close();
}
byte[] file = sb.toString().getBytes();
Client client = ClientBuilder.newClient();
Invocation.Builder builder = client.target(webTarget.getUri()
+ "/attachment" ).request(MediaType.MULTIPART_FORM_DATA_TYPE);
Response response = builder.post(Entity.entity(file, MediaType.MULTIPART_FORM_DATA), Response.class);
Aber ich erhalte eine Fehlermeldung:
org.apache.commons.fileupload.FileUploadException: die Anfrage wurde abgelehnt, da keine mehrteilige Grenze gefunden wurde
Gibt es dafür eine Lösung?
Oder kann jemand ein Beispiel für einen RESTeasy Rest-Client-Code angeben, um eine Datei anzuhängen?