0

I am using ExtJS 5 and I want to access complex REST resources as discussed in this similar thread using ExtJS 4.

The REST service that I am accessing exposes these resources:

  • GET /rest/clients - it returns a list of clients
  • GET /rest/users - it returns a list of all users
  • GET /rest/clients/{clientId}/users - it returns a list of users from the specified client.

I have these models:

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'
    }
});

I did this:

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

And it sent, respectively:

//GET rest/clients/2
//GET rest/users?filter:[{"property":"personId","value":"Person-1","exactMatch":true}]

Questions:

  1. Is there any way that I can send my request to "GET rest/clients/2/users" without updating the user proxy url manually with its clientId?
  2. How can I send above request without losing the original url defined in App.model.User, "rest/users"
Community
  • 1
  • 1

1 Answers1

0

I think this essentially the same as this question:

Accessing complex REST resources with Ext JS

I don't think much has changed since it was first asked.

Community
  • 1
  • 1
Colin Ramsay
  • 16,086
  • 9
  • 52
  • 57