【问题标题】:How to perform RESTful request through rest proxy in Sencha Touch2如何在 Sencha Touch2 中通过 REST 代理执行 RESTful 请求
【发布时间】:2012-05-16 03:58:03
【问题描述】:

我想执行一个像

这样的 RESTful 获取请求
"/commments/123" <br/>

但它总是要求像这样的附加参数

:<br/>
" _dc=1337095865783&page=1&start=0&limit=25" <br/>

请告诉我如何将附加参数转换为 RESTful 请求

【问题讨论】:

    标签: sencha-touch-2


    【解决方案1】:

    您可以通过在代理对象(limitParam、enablePagingParams、startParam 等)上将任何 xxxParam 选项设置为 false 来自动删除 Sencha 添加的额外参数,还可以使用 noCache 禁用 _dc 缓存查询字符串:

    proxy: {
        type: 'rest',
        url: '/comments',
        noCache: false,
        limitParam: false,
        enablePagingParams: false,
        startParam: false
    }
    

    如果您遵循 Sencha 的模型/商店结构,那么您可以为您的商店创建一个休息代理并告诉它包含 id(默认情况下):

    new Ext.data.Store({
        model: "comments",
        autoLoad: false,
        proxy: {
            type: 'rest',
            url: '/comments',
            appendId: true, //default
            noCache: false,
            limitParam: false,
            enablePagingParams: false,
            startParam: false
        }
    });
    
    // Collection url: /comments
    // Instance url  : /comments/123
    

    最后,您可以使用代理上的 buildUrl 方法为请求创建自定义 Url 格式。

    更多详情请参考http://docs.sencha.com/touch/2-0/#!/api/Ext.data.proxy.Rest

    【讨论】:

    • 如何将 limitParam 添加为 RESTful 参数而不是 "?limit=25" ?
    • 你能给我一个你需要的 RESTful URL 的例子吗? /cmets/limit/25 之类的东西?
    • 我就是不知道怎么定义RESTful URL~~,你的例子是RESTful,还是混合也可以?
    • 您可以在 RESTful URL 设置中使用查询字符串,但它不遵循正确使用的严格定义。你能给我一个具体的例子来说明你正在尝试做什么吗?参考 stackoverflow.com/questions/3821663/… 以了解有关查询字符串的 RESTful 最佳实践。
    • 谢谢,我对RESTful API有了更深入的了解
    猜你喜欢
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 2019-07-23
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    相关资源
    最近更新 更多