Spring Boot загрузка нескольких файлов с несколькими объектами - PullRequest
0 голосов
/ 14 декабря 2018

Мне нужна помощь. В прошлый раз я создал контроллер с загрузкой одного файла с объектом, и он работает для меня, как

Мой класс POJO

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({ "file", "data" })
public class FileWithObject<T> {

    @JsonProperty("file")
    private MultipartFile file;
    @JsonRawValue
    @JsonProperty("data")
    private T data;
}

МОЙ КОНТЕЛЛЕР ОТДЫХА

@RequestMapping(value="/filestore/{bucket-uuid}/appsport.com/singleFileUploadWithObject/{folder}",
        method = RequestMethod.POST)
@ResponseBody
// api work
public String singleFileUploadWithObject(
        @PathVariable(name="bucket-uuid", required = true) String bucketUUId,
        @PathVariable(name="folder", required = false) String folder,
        FileWithObject rawData) {
    return pingResponse;
}

Результат моего почтальона

enter image description here

Это все для меня.Как отправить список объектов через почтальона или можно обработать запрос таким способом, как показано ниже: rest rest controller

@RequestMapping(value="/filestore/{bucket-uuid}/appsport.com/listOfObjectsWithSingleFile/{folder}", method = RequestMethod.POST)
@ResponseBody
public String listOfObjectsWithSingleFile(
        @PathVariable(name="bucket-uuid", required = true) String bucketUUId,
        @PathVariable(name="folder", required = false) String folder,
        Set<FileWithObject> rawData) {
    return pingResponse;
}

Как обработать список объектов

[{
"file": fileobject,
"data": "zyz"
},{
"file": fileobject,
"data": "zyz"
}]

Я пытаюсь создать API для этой задачи удара

enter image description here

1 Ответ

0 голосов
/ 26 декабря 2018


Я сделал это, используя концепцию Метаданные . Есть несколько изменений, которые я сделал в контроллере и бобе

Контроллере

@RequestMapping(value="/filestore/{bucket-uuid}/appsport.com/listOfObjectsWithSingleFile/{folder}",
        method = RequestMethod.POST)
@ResponseBody
public String listOfObjectsWithSingleFile(
        @PathVariable(name="bucket-uuid") String bucketUUId, @PathVariable(name="folder") String folder,
        FileWithObject objects) { // change this Set<FileWithObject> rawData to FileWithObject objects
    return pingResponse;
}

Боб

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({ "file", "files", "data" })
public class FileWithObject<T> {

    @JsonProperty("file")
    private MultipartFile file;
    @JsonProperty("files")
    private List<MultipartFile> files;
    @JsonRawValue
    @JsonProperty("data")
    private T data;

    // work like (meta-data)
    List<FileWithObject> rawData;
    // getter setter
}

Изображения для запроса

enter image description here enter image description here

Примечание: - Я все еще ищу эту проблему, справьтесь с этим ударным способом

@RequestMapping(value="/filestore/{bucketuuid}/appsport.com/listOfObjectsWithSingleFile/{folder}", method = RequestMethod.POST)
@ResponseBody
public String listOfObjectsWithSingleFile(@PathVariable(name="bucket-uuid", required = true) String bucketUUId,
    @PathVariable(name="folder", required = false) String folder,Set<FileWithObject> rawData) {
    return pingResponse;
}

надеюсь, что этопомогает кому-то

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...