У меня есть контроллер, который принимает два RequestPart: JSON и MultipartFile:
@PostMapping(value = "/mail", consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Report> mail(@RequestPart("data") MailMessageDto dto,
@RequestPart(name = "attachments", required = false) List<MultipartFile> attachments,
Locale locale) {
Пишу тесты, пока такие:
@Test
public void receiveAndSend() throws Exception {
MockMultipartFile multipartFile = new MockMultipartFile(TEST_FILE, getOriginalFilename(),
CONTENT_TYPE, new FileInputStream(new File(TEST_FILE_PATH)));
String json = asJson(new MailMessageDto(TO, TITLE, CONTENT));
MockHttpServletRequestBuilder builder = multipart(controllerMask)
.file(multipartFile)
.contentType(MediaType.MULTIPART_FORM_DATA)
.content(json);
result = mockMvc.perform(builder)
.andDo(print())
.andExpect(status().isOk())
.andReturn();
assertNull(result.getResponse().getErrorMessage());
}
Пишет:
MockHttpServletResponse:
Status = 400
Error message = Required request part 'data' is not present
Headers = {}
Content type = null
Body =
Forwarded URL = null
Redirected URL = null
Cookies = []
Как мы видим, не задано имя RequestPart (хотя, мне кажется, проблема не только в этом). Подскажите, как правильно отправить JSON?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хочу что бы сайт отображался на всех устройствах одинаково(отображался так как на 1905px отображается)
Что использовать margin или padding, и каким образом? Верстка на bootstrap
Встал вопрос: Есть ли какой-нибудь способ собрать HTML код с интересующего меня сайта и как-то вывести это на экран или записать в файл? (Python)...
Есть код по созданию табов в jsНе очень понимаю как он работает, можете объяснить что он делает? Может написать комментарии