Учитывая модель ресурса проекта API, как я могу гарантировать, что только для чтения часть ресурса не обновляется?

У меня есть большая модель, которую я использую как для GET, так и для PUT на ресурсе. Модель включает в себя объект "аудита", например:

            "audit": {
                "createdAt": "2014-04-14T02:15:15Z",
                "lastUpdatedAt": "2014-04-14T02:15:15Z",
                "deletedAt": ""
            }

Это, очевидно, часть ресурса, предназначенная только для чтения - есть ли способ показать это в модели контракта, поэтому для представления ответа GET появляется "аудит", а не представление запроса PUT?

Единственная альтернатива, которую я вижу, - это скопировать модель в тело PUT и удалить части, доступные только для чтения, но это исключает преимущество наличия единой модели, которую можно повторно использовать в различных методах.

1 ответ

Решение

Это пока невозможно. Возможности текущей модели ресурсов очень ограничены. Эта проблема аналогична пасеке: обратитесь к нескольким моделям в теле или используйте модель ресурса как массив.

Есть планы удовлетворить эту потребность и сделать чертежи более сухими в будущем - см. Вехи встраиваемых активов и черт.

Решение состоит в том, чтобы либо скопировать и вставить, либо, в вашем конкретном случае, не возвращать различные полезные данные в GET и PUT. Зачем ты это делаешь?

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