Я пытаюсь подключить REST API к моему приложению ExtJS.ExtJS5: избавиться от свойства root в прокси
Для GET /user
так запросов я возвращает ответ следующим образом:
{items: [{id: 1, ...}, {id: 2, ....}], total: 2}
Так что я создал модель для этого:
Ext.define('model.User', {
extend: 'Ext.data.Model',
fields: [
{ name: 'id', type: 'int' },
{ name: 'name' },
],
proxy: {
reader: {
type: 'json',
totalProperty: 'total',
rootProperty: 'items'
},
type: 'rest',
url: '/Api/User',
}
});
Сетки загрузки данных и все прекрасно выглядеть. Теперь я хочу иметь возможность запросить одну запись, которую мой api выполняет как {id: 1, ...}
. Но когда я делаю model.User.load(1)
, обработчик успеха никогда не запускается, потому что ответ не содержит items
. Если я поместил свою запись в это свойство, он будет работать, но также будет выглядеть уродливым для других пользователей API.
Как я могу заставить его работать без свойства root? Я не могу найти какие-либо события для прокси/читателя на модели, чтобы динамически изменять ее.