Отправка объекта с файлами с помощью теста MockMvcJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Отправка объекта с файлами с помощью теста MockMvc

Сообщение Anonymous »

Я хочу отправить контроллеру объект, который имеет несколько списков с файлами и несколько полей с обычным текстом.

Код: Выделить всё

public class ContributionNew {
private List elementsToAdd;
private Map elementsToUpdate;
private Set idsToDelete;
private Set sources;
private String comment;
}

public class Photo extends MovieInfoDTO {
private MultipartFile photo;
}

@PostMapping(value = "/{id}/contributions/photos")
@ResponseStatus(HttpStatus.CREATED)
public
ResponseEntity createPhotoContribution(
@ApiParam(value = "The movie ID", required = true)
@PathVariable("id") final Long id,
@ApiParam(value = "The contribution", required = true)
@RequestBody @Valid final ContributionNew
 contribution
) {
Я хочу создать тест для отправки объекта, но не знаю, как его завершить.

Код: Выделить всё

@Test
public void testCreatePhotoContribution() throws Exception {
ContributionNew
 contribution = new ContributionNew();
MockMultipartFile multipartFile = new MockMultipartFile("photo", "C:\\Users\\Jonatan\\Pictures\\2.png",
"image/png", "Spring Framework".getBytes());
Photo.Builder photoBuilder = new Photo.Builder(
multipartFile
);
contribution.getElementsToAdd().add(photoBuilder.build());

mockMvc
.perform(post("/api/v1.0/movies/{id}/contributions/photos", 1)
.contentType(...)
.content(...))
.andExpect(status().isCreated());
}
Я не знаю, как задать правильный тип передаваемых данных, задать контент. Доступны только руководства по отправке только файлов (не объектов). Но нет руководств, где файл является одним из полей объекта. Как это сделать?


Подробнее здесь: https://stackoverflow.com/questions/480 ... ckmvc-test
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»