Я создаю Rest API с JAX-RS (Джерси) и Джексоном для обработки JSON объектов. Я хочу позволить пользователю создать объект Brand, увидев запрос на публикацию с сыновым телом, в котором заполнены только некоторые поля бренда POJO.
Это моя сущность Brand:
@Data
@Entity
@NoArgsConstructor
public class Brand {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
private int founded;
private String founder;
private String ceo;
private String headQuarters;
private Date created;
private Date updated;
@Transient
private List<Link> links = new ArrayList<>();
public Brand(String name){
this.name = name;
}
public void addLink(String href, String rel, String action){
Link link = new Link(href, rel, action);
links.add(link);
}
@PrePersist
protected void onCreate() {
created = new Date();
}
@PreUpdate
protected void onUpdate() {
updated = new Date();
}
}
Если пользователь отправит следующее JSON тело:
{
name:"brand-name",
founded:1974
}
Я хочу новый объект Brand с только этими двумя значениями, созданным и идентификатором, который будет установлен, остальное должно быть значение NULL. Есть ли способ для меня создать новый объект с этими значениями, когда JSON не маршалинг? Или я должен принять его как JsonObject, а затем проверить, какие значения указаны, а затем создать новый объект с ними?