使用ajax的extjs存储服务提供多读取请求

使用ajax的extjs存储服务提供多读取请求,ajax,json,spring-mvc,extjs,extjs4,Ajax,Json,Spring Mvc,Extjs,Extjs4,未回答:存储ajax服务多读请求(最佳实践问题) 您好,我正在尝试理解使用Ajax api配置的存储代理的正确设计概念,并对如何实现这一点提出疑问 假设我有一个商店,它有一个使用Ext.data.proxy.Ajax类的服务器代理,我有一个api,具有以下内容: proxy: { type: 'ajax', api: { read: 'some/something/list.json', create: 'some/something/insert.jso

未回答:存储ajax服务多读请求(最佳实践问题)

您好,我正在尝试理解使用Ajax api配置的存储代理的正确设计概念,并对如何实现这一点提出疑问

假设我有一个商店,它有一个使用Ext.data.proxy.Ajax类的服务器代理,我有一个api,具有以下内容:

proxy: {
   type: 'ajax',
   api: {
       read: 'some/something/list.json',
       create: 'some/something/insert.json',
       update: 'some/something/update.json',
       destroy: 'some/something/destroy.json'
   }
}
现在假设我的读取是由一个搜索按钮触发的,当我有一个空白文本框并单击search时,它会通过读取api发出请求来检索list.json。但是我想让另一个read作为同一个store/api的一部分来读取单个记录,比如:

read: 'some/something/<field_value>.json'
读:“some/something/.json”
我的代理读取已分配给list.json,但我希望允许同一存储代理也能够读取单个记录搜索。即使我的委托书中不能有两份已读声明。我该怎么写呢

帮我理解?也许我的服务器控制器必须能够通过关键字@PathVariable确定路径是否为list,即.json,然后调用list db查询,否则如果.json,则通过db运行单独的搜索查询。??如果是这样的话,读:url是什么

设计和建造这个的最佳方式是什么


提前感谢

如果您想读取单个记录,而不是在存储中定义代理,您应该在模型中执行,然后在模型本身上调用load,如下所示

    Ext.define('app.model.User', { 
    {
    fields: [
    { name: 'LoginUserId', type: 'string' },
    { name: 'FirstName', type: 'string' },
    { name: 'LastName', type: 'string' }],

    proxy: 
    {
    type: 'rest',
    url: '/User',
    reader: 
    {
    type: 'json',
    root: ''
    }
    }
    });

var user = Ext.ModelMgr.getModel('app.model.User');
    user.load(123, {
        success: function(userObj) {

        }
    });  
您是否考虑使用URL路径而不是更改URL路径?