Я использую 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}]
Вопросы:
- Есть ли способ отправить запрос на
GET rest/clients/2/users
без обновления URL-адреса прокси-сервера пользователя вручную с его идентификатором клиента? - Как я могу отправить вышеуказанный запрос без потери исходного URL-адреса, определенного в App.model.User,
rest/users