Вернуть обновленный объект в выходе операции обновления xsodata

Мне было интересно, возможно ли в САП ХАНА обновить объект с помощью файла xsjslib и вернуть обновленный объект. В настоящее время при обновлении записи возвращается '204 - Нет содержания'.

Образец xsodata

"DEMO.VIEWS::myEntity" as "MyEntity" keys("ID")
create using "DEMO.SCRIPTS:createEntity.xsjslib::createEntry"
update using "DEMO.SCRIPTS:updateEntity.xsjslib::updateEntry"
delete using "DEMO.SCRIPTS:deleteEntity.xsjslib::deleteEntry"; 

Ответ

Вернуть обновленный объект в выходе операции обновления xsodata

Полезная документация

Я просмотрел документацию SAP по этому вопросу и, похоже, не нашел ничего, связанного с обновлением.

SAP-документация

Существует также отличный учебник, который объясняет это для создать операцию. Это работает, но, к сожалению, не для операции обновления.

Учебник по созданию операции

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
316
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

HTTP PUT (или HTTP PATCH) не имеет ответа (проверьте это, например, здесь). SAP не меняет это стандартное поведение. Поэтому, если вам действительно нужно вернуть обновленный объект (потому что, например, на стороне сервера какая-то специальная логика изменяет свойства, не являющиеся частью вашего запроса PUT), вам необходимо выполнить дополнительный запрос GET.

На самом деле, в стандарте говорится, что возврат исправленного экземпляра объекта является необязательным, поэтому SAP все равно будет соответствовать спецификации, если они выберут вышеуказанное решение безопаснее.

osxdirk 13.03.2020 13:10

Что еще хуже, так это система SAP, в которой изменения реализуются путем отмены существующего экземпляра и создания нового, измененного. С OData нет средств для правильного моделирования этого. PATCH будет работать, если он вернет экземпляр. Теперь невозможно узнать первичный ключ только что созданного экземпляра.

osxdirk 13.03.2020 13:12

@osxdirk Что вы хотите сказать нам своими комментариями к сообщению годичной давности??

Florian Pfeffer 13.03.2020 21:49

Другие вопросы по теме