【发布时间】:2018-10-08 17:58:45
【问题描述】:
我按照教程http://www.baeldung.com/spring-data-rest-relationships 进行操作。 我还观察到,我可以通过提供关系链接来直接创建关联。
curl -i -X POST -H "Content-Type:application/json" -d '{"name":"My Library"}' http://localhost:8080/libraries
curl -i -X POST -d '{"title":"Books", "library":"http://localhost:8080/libraries/1"}' -H "Content-Type:application/json" http://localhost:8080/books
当使用常规类时,这在 Java 和 Kotlin 中都可以正常工作。
但是,如果我在 Kotlin 中使用数据类,则会收到以下错误
2018-04-26 14:13:43.730 错误 79256 --- [nio-8080-exec-2] behRestResponseEntityExceptionHandler:org.springframework.http.converter.HttpMessageNotReadableException:JSON 解析错误:无法构造 com 的实例。 baeldung.models.Library(尽管至少存在一个 Creator):没有字符串参数构造函数/工厂方法可以从字符串值反序列化('http://localhost:8080/libraries/1');嵌套异常是 com.fasterxml.jackson.databind.exc.MismatchedInputException:无法构造 com.baeldung.models.Library 的实例(尽管至少存在一个 Creator):没有字符串参数构造函数/工厂方法可以从字符串值反序列化(' http://localhost:8080/libraries/1') 在 [来源:(org.apache.catalina.connector.CoyoteInputStream);行:1,列:29](通过引用链:com.baeldung.models.Book["library"])
我的项目中确实有相关的 kotlin-spring、kotlin-jpa 和 kotlin-noarg 插件。
【问题讨论】:
标签: kotlin spring-data spring-data-jpa spring-data-rest jackson-databind