Как получить доступ к сложным ресурсам REST с помощью ExtJS 5

Я использую ExtJS 5 и хочу получить доступ к сложным ресурсам REST, как обсуждалось в этом подобном поток с использованием ExtJS 4.

Служба REST, к которой я обращаюсь, предоставляет следующие ресурсы:

  • GET /rest/clients — возвращает список клиентов
  • GET /rest/users — возвращает список всех пользователей
  • GET /rest/clients/{clientId}/users — возвращает список пользователей от указанного клиента.

У меня есть эти модели:

Ext.define('App.model.Base', {
    extend: 'Ext.data.Model',
    schema: {
        namespace: 'App.model'
    }
});

Ext.define('App.model.Client', {
    extend: 'App.model.Base',
    
    fields: [{
        name: 'name',
        type: 'string'
    }],

    proxy: {
        url: 'rest/clients',
        type: 'rest'
    }
});

Ext.define('App.model.User', {
    extend: 'App.model.Base',
    
    fields: [{
        name: 'name',
        type: 'string'
    },{
        name: 'clientId',
        reference: 'Client'
    }],
    
    proxy: {
        url: 'rest/users',
        type: 'rest'
    }
});

Я сделал это:

var client = App.model.Client.load(2);
var users = client.users().load();

И отправил соответственно:

// ПОЛУЧИТЬ остальные/клиенты/2
// ПОЛУЧИТЬ остальные/пользователи?filter:[{property:personId,value:Person-1,exactMatch:true}]

Вопросы:

  1. Есть ли способ отправить запрос на GET rest/clients/2/users без обновления URL-адреса прокси-сервера пользователя вручную с его идентификатором клиента?
  2. Как я могу отправить вышеуказанный запрос без потери исходного URL-адреса, определенного в App.model.User, rest/users

person José Filipe Lyra    schedule 10.11.2014    source источник


Ответы (1)


Я думаю, что это по существу то же самое, что и этот вопрос:

Доступ к сложным ресурсам REST с помощью Ext JS

Я не думаю, что многое изменилось с тех пор, как его впервые спросили.

person Colin Ramsay    schedule 08.12.2014