Eu estou tentando processar ambos zip multipart arquivo e também o json objeto da solicitação usando SparkJava
, mas a solicitação fica vazia quando a usamos analisar o zip
arquivo e o mesmo não pode ser usado para analisar o json
objeto. Existe alguma maneira de conseguir isso usando SparkJava
.
Estou processando o arquivo zip da maneira abaixo
post("/agent/blueprint/create", (request, response) -> {
String responseObject = null;
if (request.raw().getAttribute("org.eclipse.jetty.multipartConfig") == null) {
MultipartConfigElement multipartConfigElement = new MultipartConfigElement(System.getProperty("java.io.tmpdir"));
request.raw().setAttribute("org.eclipse.jetty.multipartConfig", multipartConfigElement);}
Part file = request.raw().getPart("fileStream");
if (file.getContentType().startsWith("application/octet-stream")) {
Part uploadedFile = request.raw().getPart("fileStream");
InputStream inputStream = uploadedFile.getInputStream();
ZipInputStream zipInputStream = new ZipInputStream(inputStream);
ZipEntry entry = null;
while ((entry = zipInputStream.getNextEntry()) != null) {
...
}
}
}
});
A solicitação tem duas partes, uma é um arquivo zip eoutro outro sendo objeto json código acima processa o anexo, em seguida, quando eu tento processar o objeto json usando "request.body ()", a solicitação parece vazia.
Respostas:
0 para resposta № 1Eu entendi, isso pode ser conseguido usando Collection para recuperar o objeto json e fazer um loop através dele
Collection<Part> parts = request.raw().getParts();
for (Part part : parts) {
e para o uso da parte do arquivo zip
Part file = request.raw().getPart("fileStream");