Как обновить уже сохраненный объект с помощью Panache?

#quarkus

#quarkus

Вопрос:

Я пишу ресурс JaxRS в quarkus с помощью panache, и я заметил, что мне не удалось заставить запрос PUT / PATCH работать. Более конкретно, я, похоже, не могу обновить ранее сохраненный объект в базе данных. Я подумал, что делаю что-то не так, но затем я попробовал quarkus-quickstart для panache, который можно найти здесь, и я заметил, что PUT там тоже не работает.

Что он делает, так это то, что он получает объект, используя findById метод, изменяет этот объект, а затем просто возвращает этот измененный объект. Но на самом деле это не изменяет его в базе данных. Для быстрого запуска я настроил базу данных с помощью docker, как это предлагается в README.

Каков рекомендуемый способ обновления уже сохраненного объекта Panache?

Пример потока запросов

Это запросы и ответы, которые я получил с помощью quarkus quickstart:

  1. GET localhost:8080/fruits.

    • Ответ: [ {"persistent": true, "id": 1, "name": "Cherry"} ]
  2. PUT localhost:8080/fruits / 1, тело: { "name": "edited name" }

    • Ответ: { "persistent": false, "id": 1, "name": "edited name" }
  3. GET localhost:8080/fruits
    • Ответ: [ {"persistent": true, "id": 1, "name": "Cherry"} ]

Комментарии:

1. похоже, это связано с некоторыми проблемами Panache, которые были только что решены в master, и некоторыми другими, над которыми работают на этой неделе. Я бы посоветовал попробовать версию 0.13.0, как только она будет выпущена.

2. Или вы всегда можете создать из master , чтобы придать ему ускорение:wink:

3. Я подтверждаю, что это ошибка в версии 0.12.0. Это исправлено в master, и предстоящая версия 0.13.0 исправляет это.

Ответ №1:

Мы можем закрыть этот вопрос словами «Я подтверждаю, что это ошибка в версии 0.12.0. Это исправлено в master, и предстоящая версия 0.13.0 исправляет это. » из комментария.