Я изучаю контроллер весенней загрузки. Все остальные операции CRUD работают хорошо, кроме запроса POST. Я создал почтовый репозиторий, сервис и контроллер, и я выполняю фиктивные тесты. Статус сети был 201 created
, но фактически он не сохраняет созданные данные в PersonRepository
.
Это мой PersonController
тест:
@Test
public void postPerson() throws Exception {
PersonDto personDto = PersonDto.of("ju", "book", "gwa", "doctor", "01011111111", LocalDate.now());
mockmvc.perform(MockMvcRequestBuilders.post("/api/person")
.contentType(MediaType.APPLICATION_JSON_UTF8).content(toJsonString(personDto)))
.andDo(print()).andExpect(status().isCreated());
List<Person> findAll = personRepository.findAll();
findAll.forEach(System.out::println);
}
Это результат теста:
MockHttpServletRequest: HTTP-метод = URI запроса POST = / api / person Параметры = {} Headers = [Content-Type: "application / json; charset = UTF-8"] Body = {"name": "ju", "hobby": "book", "address": "gwa" , "job": "doctor", "phoneNumber": "01011111111", "birthday": "2020-02-04"} Attrs Session = {}
Обработчик: Type = com.fastcampus.javaallinone. project3.demo.controller.PersonController Method = publi c void com.fastcampus.javaallinone.project3.demo.controller.PersonController.postPerson (com.fastcampus.javaallinone.project3.demo.model.dto.PersonDto)
1015 * Asyn c: Asyn c запущено = false Asyn c result = null
Устранено исключение: Type = null
ModelAndView: Представление name = null View = null Model = null
FlashMap: атрибуты = null
MockHttpServletResponse: Status = 201 Сообщение об ошибке = нулевые заголовки = [] Тип содержимого = нулевое тело = переадресованный UR L = null Перенаправленный URL = null Cookies = []
Hibernate: выберите person0_.id в качестве id1_0_, person0_.адрес в качестве адреса2_0_, person0_.day_of_birthday в качестве day_of_b3_0_, person0_.month_of_birthday_y_0_0__ лет_0_ года person0_.deleted как удаленный6_0_, person0_.hobby в качестве hobby7_0_, person0_.job в качестве job8_0_, person0_.name в качестве name9_0_, person0_.phone_number в качестве phone_n10_0_ от person0, где (person0_.deleted = 0)
Person (1026 * *1027* Person ( 1, имя = мартин, хобби = ноль, адрес = ноль, задание = ноль, номер телефона = ноль, день рождения = день рождения (dayOfBirthday = 31, monthOfBirthday = 1, yearOfBirthday = 1997), удалено = false) Person (id = 2, name = mars, hobby = null, address = null, job = null, phoneNumber = null, день рождения = день рождения (dayOfBirthday = 21, monthOfBirthday = 4, yearOfBirthday = 1995), удалено = false) Person (id = 3, name = Amy, hobby = null, address = null, job = null, phoneNumber = null, день рождения = день рождения (dayOfBirthday = 1, monthOfBirthday = 4, yearOfBirthday = 1997), удалено = false) Person (id = 4, name = james, hobby = null, address = null, job = null, phoneNumber = null, день рождения = день рождения (dayOfBirthday = 1, monthOfBirthday = 8, yearOfBirthday = 1997), удалено = false) Person (id = 5, name = martin, hobby = null, address = null, job = null, phoneNumber = null, день рождения = день рождения (dayOfBirthday = 23, monthOfBirthday = 1, yearOfBirthday = 1889), удалено = false)
PersonController:
@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public void postPerson(@RequestBody PersonDto personDto){
personService.postPerson(personDto);
}
PersonSevice:
@Transactional
public void postPerson(PersonDto personDto) {
Person person = new Person();
person.set(personDto);
personRepository.save(person);
}
data. sql file:
insert into person(`id`,`name`,`year_of_birthday`,`month_of_birthday`,`day_of_birthday`) values (1,'martin',1997,1,31);
insert into person(`id`,`name`,`year_of_birthday`,`month_of_birthday`,`day_of_birthday`) values(2,'mars',1995,4,21);
insert into person(`id`,`name`,`year_of_birthday`,`month_of_birthday`,`day_of_birthday`) values(3,'Amy',1997,4,1);
insert into person(`id`,`name`,`year_of_birthday`,`month_of_birthday`,`day_of_birthday`) values(4,'james',1997,8,1);
insert into person(`id`,`name`,`year_of_birthday`,`month_of_birthday`,`day_of_birthday`) values(5,'martin',1889,1,23);
Пожалуйста, дайте мне знать, где я ошибаюсь. Спасибо.