UserController.java
@RestController
@RequestMapping("/users")
public class UserController {
// code
@PostMapping("/sign-up")
public void signUp(@RequestBody User user) {
//code
}
}
User
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id")
private long id;
@ManyToOne
@JoinColumn(name = "language_id")
private Language language;
// others
public User() {
}
}
因此,如您所见,Language
是一个独立的实体。但是我希望能够发送以下JSON
结构
{
"foreName" : "bla",
"sureName" : "blo",
"language" : "1"
}
但我收到以下错误
无法构造
entity.db.user.Language
的实例(尽管至少存在一个创建器):没有字符串参数构造函数/工厂方法可从字符串值(‘1’)反序列化;
我需要通过一个过滤器来预先获取Language
实体吗?有没有一种形式可以强制使用解析方法?在这里怎么做才是正确的呢?
发布于 2018-06-10 01:50:13
创建一个新的DTO对象,比如UserDTO,作为您的API方法中的请求体。处理DTO以形成用户实体,以进一步进行。
https://stackoverflow.com/questions/50775990
复制相似问题