Поля сущности @RepositoryRestResource обнуляются при добавлении новой сущности с помощью curl POST - PullRequest
0 голосов
/ 10 ноября 2018

Это приложение с весенней загрузкой, и у меня есть пара @Entity с и соответствующие им @RepositoryRestResource с. App является родительским, а History - дочерним в БД. Когда я пытаюсь добавить новую запись в журнал (используя POST), я не могу понять, почему version и tag равны нулю в ответе.

Эти поля тоже null в БД. Отладка показала, что запрос не десериализован должным образом. Кто-нибудь видел эту проблему раньше?

Подозреваю это исправление не может быть причиной, на самом деле не может подтвердить, потому что понижение версии Джексона не помогло. Полная заявка здесь .

$ curl -d '{"app":{"appId":1,"name":"test2"},"version":"v13","tag:"tagtest1"}' -H "Content-Type: application/json" -X POST http://localhost:8080/repo/history

Ответ:

{
  "version" : null,
  "tag" : null,
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/repo/history/1"
    },
    "history" : {
      "href" : "http://localhost:8080/repo/history/1"
    },
    "app" : {
      "href" : "http://localhost:8080/repo/history/1/app"
    }
  }
}

1 Ответ

0 голосов
/ 11 ноября 2018

Я клонировал ваш репозиторий, и он работает, но несколько вещей, я не уверен, как вы можете отправить напрямую объект ManyToOne, потому что это ошибка, чтобы отобразить его. потому что, если вы отправите приведенное ниже тело, оно будет отображать версию и тег, а объект приложения JSON - нет, поэтому вам нужно изучить, как передать объект JSON с реализацией «Много к одному». Вам нужно взглянуть на этот ответ Автоматически сохранять дочерние объекты с помощью JPA Hibernate

{
    "version":"v13",
    "tag":"tagtest1",
    "app":{
        "appId": 1, 
        "name":"test112"
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...