Bulk creation of related objects

15 views
Skip to first unread message

Сергей Нелюбин

unread,
Jun 25, 2019, 2:28:52 AM6/25/19
to Agrest Framework User Group
День добрый, Andrus!

Насколько я понял, можно создать объект в графе ссылающимся на другие объекты просто прописав их id в значении поля.
Например есть такие объекты
A {
    String qwerty,
}
и 
B {
    String abc,
    A a
}
и если в БД уже есть объект типа А с id = 555, то можно отправить POST запрос для создания объекта типа B
{
    abc: "hello world",
    a: 555
}
Так все работает, и в случае отсутствия объекта А с id = 555 выдаст ошибку

Вопрос:
Есть ли возможность создавать оба объекта одним запросом?
Примерно вот так:
{
    abc: "hello world",
    a: {
        qwerty: "abcdef"
    }
}

Я смотрел в сторону кастомизации stage, но видимо это тупиковый путь.
 

Andrus Adamchik

unread,
Jun 25, 2019, 3:29:19 AM6/25/19
to Agrest Framework User Group
Сергей, добрый день / Hi Sergey :

Переключаюсь на английский, чтоб мои ответы были понятны другим участникам / I am switching to English, so that my answer can be understood by other forum members.

The question is whether Agrest can create related objects together with the master object like this:

> {
> abc: "hello world",
> a: {
> qwerty: "abcdef"
> }
> }


This is a good one. Unfortunately currently the answer is "no", but I'd very much like it to happen and it is high on our TODO list. The biggest challenge so far is not the Java implementation, but defining or guessing proper semantics for all the possible cases of object sub-trees ("link", "create", "create-or-update"). I guess we just need to settle on good defaults.

Andrus
Reply all
Reply to author
Forward
0 new messages