Не удалось преобразовать значение свойства типа «java.lang.String» в требуемый тип «java.util.List».JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Не удалось преобразовать значение свойства типа «java.lang.String» в требуемый тип «java.util.List».

Сообщение Anonymous »

Я создал проект, в котором разделены бэкэнд и интерфейс, и это интерфейс, с бэкэндом все в порядке, проблема в том, что когда я отправляю данные с использованием формы, всегда возникает эта проблема, это мой необработанный код
< ul>
[*]Guest.java

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

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Guest {
private Integer id;
private String nama;
private String alamat;
private String noTelepon;
private String keterangan;
private LocalDateTime waktuKunjungan;
private List events;
}
  • Запрос гостя

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

@Data
@AllArgsConstructor
@NoArgsConstructor
public class GuestRequest {
private String nama;
private String alamat;
private String noTelepon;
private String keterangan;
private String waktuKunjungan;
private List eventsId;
}
  • GuestCreateRequest.java

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

@Data
@AllArgsConstructor
@NoArgsConstructor
public class GuestCreateRequest {
private Integer id;
private String nama;
private String alamat;
private String noTelepon;
private String keterangan;
private String waktuKunjungan;
private List events;
}
  • Это услуга

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

 public GuestRequest createDTO(GuestRequest guestRequest){
HttpEntity httpEntity = new HttpEntity(guestRequest);
return restTemplate
.exchange(
url,
HttpMethod.POST,
httpEntity,
GuestRequest.class
).getBody();
}
  • а это контроллер

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

@Controller
@RequestMapping("/pendaftaran")
public class registGuest {

@Autowired
private EventService eventService;

@Autowired
private GuestSerivce guestSerivce;

@GetMapping
public String getPendaftaran(Model model){
model.addAttribute("title", "pendaftaran user");
model.addAttribute("guestCreateRequest", new GuestCreateRequest());
model.addAttribute("events", eventService.getAll());
return "user/formGuest";
}

@PostMapping
public String create(Model model, @ModelAttribute("guestCreateRequest") GuestCreateRequest guestCreateRequest,
@RequestParam(name = "eventList") Set eventList, BindingResult bindingResult,
RedirectAttributes redirectAttributes ){
try {
if (bindingResult.hasErrors()) {
model.addAttribute("title", "pendaftaran user");
model.addAttribute("guestCreateRequest", new GuestCreateRequest());
model.addAttribute("events", eventService.getAll());
return "user/formGuest";
}

GuestRequest guestRequest = convertToGuestRequest(guestCreateRequest, eventList);
guestSerivce.createDTO(guestRequest);
return "redirect:/user/daftarTamu";
} catch (Exception e) {
model.addAttribute("errors", "Something wrong");

}
return "redirect:/user/formGuest";
}

private GuestRequest convertToGuestRequest(GuestCreateRequest guestCreateRequest, Set eventList ){
GuestRequest guestRequest = new GuestRequest();
guestRequest.setNama(guestCreateRequest.getNama());
guestRequest.setAlamat(guestCreateRequest.getAlamat());
guestRequest.setKeterangan(guestCreateRequest.getKeterangan());
guestRequest.setNoTelepon(guestCreateRequest.getNoTelepon());
guestRequest.setWaktuKunjungan(guestCreateRequest.getWaktuKunjungan());
guestRequest.setEventsId(new ArrayList(eventList));
return guestRequest;
}

}
Страница ошибки Whitelabel
Это приложение не имеет явного сопоставления для /error, поэтому вы видите это как запасной вариант.
Было непредвиденная ошибка (type=Bad Request, status=400).
Не удалось выполнить проверку для object='guestCreateRequest'. Количество ошибок: 1
org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 ошибки
Ошибка поля в объекте «guestCreateRequest» в поле «события»: отклоненное значение [3]; коды [typeMismatch.guestCreateRequest.events,typeMismatch.events,typeMismatch.java.util.List,typeMismatch]; аргументы [org.springframework.context.support.DefaultMessageSourceResolvable: коды [guestCreateRequest.events,events]; аргументы []; сообщение по умолчанию [события]]; сообщение по умолчанию [Не удалось преобразовать значение свойства типа «java.lang.String» в требуемый тип «java.util.List» для свойства «события»; вложенным исключением является java.lang.IllegalStateException: невозможно преобразовать значение типа «java.lang.String» в требуемый тип «com.guestbook.clientApp.model.entity.Event» для свойства «events[0]»: нет соответствующих редакторов или найдена стратегия преобразования]
в org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java:175)
в org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposi т.е. java:122)
в org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:179)
в org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod. java:146)
в org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
в org.springframework.web.servlet.mvc.method. annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
в org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
в org.springframework. web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
в org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)
в org.springframework. web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)
в org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
в org.springframework.web.servlet. FrameworkServlet.doPost(FrameworkServlet.java:909)
в javax.servlet.http.HttpServlet.service(HttpServlet.java:555)
в org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet. java:883)
в javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
в org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
в org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
в org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
в org.springframework .web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
в org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
в org.apache.catalina.core .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
в org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
в org.springframework.web.filter.FormContentFilter.doFilterInternal (FormContentFilter.java:93)
в org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java :178)
в org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
в org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:94)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
в org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
в org.springframework. web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
в org.apache.catalina.core. ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
в org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
в org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:90)
в org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
в org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 130)
в org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
в org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
в org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
в org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
в org .apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
в org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)
в org.apache.tomcat.util .net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)
в org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
в org.apache.tomcat .util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
в org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
в org.apache .tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
в java.lang.Thread.run(Thread.java:748)

Подробнее здесь: https://stackoverflow.com/questions/787 ... ed-type-ja
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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