【发布时间】:2017-11-30 13:28:35
【问题描述】:
两种型号:
@Entity
@Table(name="products")
data class Product(
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
var id: Long = 0,
var name: String = "",
var price: Number = 0
)
@Entity
@Table(name="users")
data class User(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long = 0,
var name: String = "",
var email: String = "",
@OneToMany(targetEntity = Product::class)
@JoinColumn(name = "user_id")
var products: List<Product> = listOf()
) {
var password: String = ""
@JsonIgnore
get() = field
}
我的仓库:
@Repository
interface UserRepository : CrudRepository<User, Long> {
fun findByEmail(email: String): User
}
在我的控制器中:
@GetMapping("/users")
fun index(): MutableIterable<User> = repository.findAll()
当我访问http://localhost:8080/users 时出现以下错误:
无法写入 HTTP 消息: org.springframework.http.converter.HttpMessageNotWritableException: 无法编写 JSON:无法反序列化;嵌套异常是 com.fasterxml.jackson.databind.JsonMappingException:不能 反序列化(通过引用链: java.util.ArrayList[0]->xxxxxxxxxxx.models.User["products"])
【问题讨论】:
标签: json spring serialization kotlin