Я хочу отправить запрос POST с Postman, который создает объект Purchase и сохраняет его в базе данных.
Мой класс Покупка:
@Document(collection = "purchases")
public class Purchase {
@Id
private String id;
@DBRef
private User buyer;
@DBRef
private List<File> FilesToPurchase;
private Long timestamp;
public Purchase() { }
public Purchase(User buyer, List<File> filesToPurchase) {
this.buyer = buyer;
FilesToPurchase = filesToPurchase;
}
// Getters and setters not posted here.
Я хочу вставить в базу данных новую покупку, сделанную уже существующим пользователем «покупатель», который хочет приобрести список уже существующих файлов «FilesToPurchase».
У меня в контроллере есть функция POST, которая получает объект Purchase с использованием аннотации @RequestBody, но пока у меня есть NullPointerExceptions из-за полученного пустого объекта Purchase.
Я не знаю, как обращаться с аннотацией @DBRef. В Postman я пытаюсь отправить JSON следующим образом:
{
"buyer": {
"$ref":"users",
"$id" : "ObjectId('5bb5d6634e5a7b2bea75d4a2')"
},
"FilesToPurchase": [
{ "$ref":"files",
"$id" : "ObjectId('5bb5d6634e5a7b2bea75d4a5')"
}
]
}