У меня есть контроллер:
@PostMapping(value = "/value/", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public String updateSettings(final Dto dto) {
System.out.println(">>> " + dto);
return "template";
}
Контроллер работает, если я отправляю запрос через окно Chrome. Но когда я пишу тест для этого метода, у меня возникают проблемы. Непреобразованный объект, значение не вставлено.
Тестовое задание:
@Test
@WithMockUser(username = FAKE_VALID_USER, password = FAKE_VALID_PASSWORD)
public void test_B_CreateDtoWithValidForm() throws Exception {
final Dto dto = new Dto();
dto.setId("value");
dto.setEnabled("true");
this.mockMvc.perform(post(URL_SET_PROVIDER_SETTINGS)
.contentType(MediaType.APPLICATION_FORM_URLENCODED_VALUE)
.content(dto.toString()))
.andDo(print());
}
Вывод: >>> Dto {id = null, enabled = false}
Как проверить Post-запрос с настраиваемым объектом в типе содержимого application / x-www-form-urlencoded?