无法反序列化business.enities.folders.Init实例的START_ARRAY标记

时间:2017-08-31 14:17:26

标签: java json angular jackson resteasy

我有两个实体Folder和Init具有OneToMany关系,当我添加一个文件夹时,我想设置init并将其保存在DB中..但是当我发送表单时,我在我的sclipse控制台中得到了这个错误(JAVA) )

16:24:34,153 ERROR [org.jboss.resteasy.resteasy_jaxrs.i18n] (default task-18) RESTEASY002005: Failed executing POST /folders/saveFolders: org.jboss.resteasy.spi.ReaderException: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of business.entities.folders.Init out of START_ARRAY token
 at [Source: io.undertow.servlet.spec.ServletInputStreamImpl@2cff0c8; line: 13, column: 16] (through reference chain: business.entities.folders.Folders["initiator"])
    at org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:184)
    at org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:91)
    at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:114)
    at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
    at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
    at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209)
    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)

Folder.java

@Id
@Column(name = "ID")
private Long id;
@Column(name = "NOFOLDER")
private String noFolder;
/** Getter + setter **/

Init.java

    @Id
    @Column(name = "ID")
    private Long id;
    @Column(name = "NAME")
    private String name;
    @Column(name = "SURNAME")
    @OneToMany(fetch=FetchType.EAGER, cascade={CascadeType.PERSIST})
    @JoinColumn(name = "INIT", referencedColumnName = "ID")
    private List<Folders> folders = new ArrayList<Folders>();
/*  Getter  Setter */

在我的角度中,我为发送表单执行此操作: 的 folder.html

<label>No Folder :</label>
<div class="col-sm-4">
    <input [(ngModel)]="noFolder" name="noFolder" type="text">
</div>
<div class="col-sm-4">
    <input [(ngModel)]="initiator.name" name="name" type="text">
</div>
<div class="col-sm-4">
    <input [(ngModel)]="initiator.surname" name="surname" type="text">
</div>

    <button type="button" (click)="saveFolder()">SUBMIT</button>

folder.ts

folder;
initiator;
saveFolder() {
   this.folder.noFolder =  noFolder;
   this.folder.initiator = this.initiator;

     this.folderService.saveFold(this.folder).subscribe(
      data => {
       },
      error => {
     });
}

0 个答案:

没有答案