Jak wysłać Map za pomocą aplikacji Postman

0

Chcę wysłać obiekt DTO do kontrolera, który zawiera m.in. Map<Long, MultipartFile>.

public class ContributionNew<T extends MovieInfoDTO> {
    private List<T> elementsToAdd;
    private Map<Long, T> elementsToUpdate;
    private Set<Long> idsToDelete;
    private Set<String> sources;
    private String comment;
}

public class Photo extends MovieInfoDTO {
    private MultipartFile photo;
}

@PostMapping(value = "/{id}/contributions/photos")
@ResponseStatus(HttpStatus.CREATED)
public
ResponseEntity<Void> createPhotoContribution(
        @ApiParam(value = "The movie ID", required = true)
        @PathVariable("id") final Long id,
        @ApiParam(value = "The contribution", required = true)
        @RequestBody @Valid final ContributionNew<Photo> contribution
) {

Jednak nie wiem jak tą mapę przesłać. Nie mogę wysłać danych za pomocą JSON, bo do kontroler przesyłam również pliki. Próbuję coś w ten sposób https://zapodaj.net/8ffe5d4962a13.png.html, ale nie wiem jak przesłać tą mapę w elementsToUpdate. Wydaje mi się, że również źle przeysłam plik za pomocą listy elementsToAdd. Lista elementsToAdd zawiera obiekt Photo, która posiada pole typu MultipartFile, a ja za pomocą Postmana przesyłam od razy plik do tej listy.

0

przykład mapy jako json, dajny na to @RequestBody @Valid final Map<String, String> mapa

{
  "klucz1" : "wartosc1",
  "klucz2" : "wartosc2"
}
0

Z moją Map<Long, Photo> jest to o tyle skomplikowane,że nie jest wykonalne przetestowanie tego adresu za pomocą Postman czy Swagger. Pozostaje tylko przetestowanie za pomocą samego kodu. Co też nie jest takie banalne https://4programmers.net/Forum/Java/302063-serializacja_obiektu_z_typami_string_i_plikami.

1 użytkowników online, w tym zalogowanych: 0, gości: 1